场景描述:

Eureka的集群节点有两个,互相注册形成集群,已经支持动态刷新(不知道怎么让Eureka支持动态刷新的可以参考http://www.cnblogs.com/flying607/p/8459397.html),已经在运行,使用nginx做负载均衡,代理该集群,服务的注册中心地址直接写nginx地址。

现在想增加一个Eureka节点到这个集群中,又不重启任何服务。

扩展新节点步骤如下:

0、新节点配置完整的集群地址(eureka.client.service-url.defaultZone) 并启动
1、修改每个eureka的application.yml(该配置文件是放在jar包外部的,所以可以方便修改),增加新的节点
2、挨个刷新每个eureka的配置
3、等待大约十分钟(这个配置暂时不知道从哪能找到,我等了大约十分钟才看到新节点上有了动静),刷新新节点,看到有服务信息同步过去了
4、修改nginx的负载均衡地址,加入新的节点地址
5、nginx -s reload

使用的版本:Dalston.SR1

题外话:

本文场景中描述的集群方案存在一定缺陷,如果集群中某个节点挂掉了,并没有比较完善的熔断和重试措施保护。

如果对这方面要求比较高可以考虑使用keepalived(虚出一个IP,监听某个端口,及时剔除),或者zuul搭配ribbon自动重试(博主暂未验证),

来取代nginx的代理。

各位大佬如果有什么好的想法欢迎在评论区留言。

Spring Cloud Eureka集群 动态扩展新节点的更多相关文章

  1. Spring Cloud Eureka集群配置及注意事项(Greenwich版本)

    Spring Cloud Eureka集群配置及注意事项(Greenwich版本) 一·概述 Spring Cloud Netflix Eureka 是一个提供服务注册与发现的套件.服务提供者只需要将 ...

  2. Hadoop概念学习系列之Hadoop集群动态增加新节点或删除已有某节点及复制策略导向 (四十三)

    不多说,直接上干货! hadoop-2.6.0动态添加新节点 https://blog.csdn.net/baidu_25820069/article/details/52225216 Hadoop集 ...

  3. Spring Cloud Eureka集群部署到Linux环境

    还是三板斧:先改配置文件,支持集群,然后出包,上传到linux环境(3个节点),最后启动jar包跑起来. 1.在原eureka服务端代码(参见Greenwich.SR2版本的Spring Cloud ...

  4. Spring Cloud Eureka 集群搭建 - 以及发现一个 “直觉BUG”

    首先解释一下标题所说的“直觉BUG”,这个是我自己的定义.就是我们直觉上认为这是一个BUG,是一个错误,而实际并没有出错. 比如下图: 虽然出现报错信息,但是,整个程序并没有出错.至于原因,图片上的文 ...

  5. docker-compose 完整打包发布, 多服务,多节点SPRING CLOUD ,EUREKA 集群

    这里不再使用 端口映射的方式,因为不同主机上,Feign 根据 docker hostname访问会有问题. 把打包的好jar copy到docker镜像里 有几个服务,就复制几个dockerfile ...

  6. Hadoop集群动态服役新的数据节点&&退役数据节点

    备注:新添的机器为hadoop05,现有hadoop01.hadoop02.hadoop03.hadoop04 环境准备: 1.先克隆一台和集群中一样的机器 2.修改机器ip和主机名称 3.删除原来的 ...

  7. spring cloud_1_mm_eureka2 eureka集群

    一个eureka会出现单点故障 这里整两个 eureka--1 application.yml: #注册中心端口 server: port: 8888 #唯一标示eureka注册中心 方便互相识别 e ...

  8. eureka集群基于DNS配置方式

    https://www.cnblogs.com/relinson/p/eureka_ha_use_dns.html   最近在研究spring cloud eureka集群配置的时候碰到问题:多台eu ...

  9. Spring Cloud Eureka Server集群Demo级搭建

    将上篇随笔Spring Cloud Eureka服务Demo级搭建进行改造,改造成一个在本机的伪集群 1.修改hosts文件(windows10 hosts文件位置:C:\Windows\System ...

随机推荐

  1. idea自动生成serialVersionUID , serialVersionUID的作用

    Java的序列化的机制通过判断serialVersionUID来验证版本的一致性.在反序列化的时候与本地的类的serialVersionUID进行比较,一致则可以进行反序列化,不一致则会抛出异常Inv ...

  2. [转]教你修复win7中复制粘贴失效的问题

    教你修复win7中复制粘贴失效的问题 发布时间:2018-01-17             使用win7系统的时候,我们经常需要对立面的内容进行复制粘贴来引用一些网站的内容,不过最近有网友在使用这个 ...

  3. windows取证

    工具网站 : http://www.ntsecurity.nu/toolbox/ 命令行历史 :命令行模式 CMD 中使 doskey /history 命令可以显示前面输入的命令情况(例如使用 cl ...

  4. python3 验证码图片切割

    切割前图片 切割后四个图片 代码 #coding:utf8 import os from PIL import Image,ImageDraw,ImageFile import numpy impor ...

  5. oracle sqlplus登陆命令

    1.语法:   {<username>[/<password>][@<connect_identifier>] | / }[AS {SYSDBA | SYSOPER ...

  6. 如何给USB移动硬盘格式化分区

    硬盘盒装好后,插在电脑USB接口上,电脑正常识别到移动硬盘后,但因为全新硬盘没有分区,在"我的电脑"里是看不到盘符的.下面以40G移动硬盘分区讲一下硬盘如何分区.1.操作系统最好是 ...

  7. List,Set,Map存取元素各有什么特点

    一丶存放 List存放元素是有序,可重复 Set存放元素无序,不可重复 Map元素键值对形式存放,键无序不可重复,值可重复 二丶取出 List取出元素for循环,foreach循环,Iterator迭 ...

  8. 【Nodejs】外研社一年级起三年级下MP3下载爬虫1.00

    //====================================================== // 外研社一年级起三年级下MP3下载爬虫1.00 // 2018年5月9日 //== ...

  9. C#.NET常见问题(FAQ)-如何声明list的多维数组

    可以用下面的方法来声明多维list数组,但是不推荐使用   //对于一维数组:List<数据类型> 变量 = new List<数据类型>(); List<int> ...

  10. 牛客网-《剑指offer》-二维数组中的查找

    题目:http://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e C++ class Solution { public: bo ...