zoukankan      html  css  js  c++  java
  • Spring Cloud Eureka集群 动态扩展新节点

    场景描述:

    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的代理。

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

  • 相关阅读:
    JS中null与undefined的区别
    <div> <p> <span>的用法和区别
    <img>的title和Alt有什么区别?
    null undefined NaN
    JavaScript中判断为整数的多种方式
    将博客搬至CSDN
    flex
    webpack插件url-loader使用规范
    Cordova 项目 加载不出XML文件
    pandas读取xlsx
  • 原文地址:https://www.cnblogs.com/flying607/p/8677136.html
Copyright © 2011-2022 走看看