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

各位大佬如果有什么好的想法歡迎在評論區留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM