天天看點

Spring Cloud Eureka叢集 動态擴充新節點

場景描述:

Eureka的叢集節點有兩個,互相注冊形成叢集,已經支援動态重新整理,已經在運作,使用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的代理。

繼續閱讀