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

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

  • 相关阅读:
    jvm调优
    Spring 事务
    Spring Framework入门介绍
    redis入门介绍
    Spring与SpringMVC重复扫描问题
    跨域相关问题
    Spring MVC介绍
    Servlet、Servlet容器
    获取屏幕宽高
    mybatis中比较符的写法
  • 原文地址:https://www.cnblogs.com/flying607/p/8677136.html
Copyright © 2011-2022 走看看