一。集群方案及部署思路:
如果是單節點的注冊中心,是無法保證系統穩定性的,當然現在項目部署架構不可能是單節點的。
集群節點的部署思路:通過運行多個實例並請求他們相互注冊,來完成注冊中心的高可用性(結伴注冊)
注意:
用於本機模擬的前期准備工作:將電腦上hosts 添加如下配置 (linux下位置:/etc/hosts):

127.0.0.1 localhost server1 server2
二 設計步驟
在這里簡單創建一個項目:register-center-node1的項目工程,和我們先前的register-center項目工程一模一樣
register-center-node1的application.yml配置:

1 server: 2 port: 8081 3 spring: 4 application: 5 name: register-center 6 eureka: 7 client: 8 service-url: 9 defaultZone: http://server1:8080/eureka 10 fetch-registry: true 11 instance: 12 hostname: server2
register-center的application.yml配置:

1 server: 2 port: 8080 3 spring: 4 application: 5 name: register-center 6 eureka: 7 client: 8 service-url: 9 defaultZone: http://server2:8081/eureka 10 instance: 11 hostname: server1
注意以下幾點:
- 與先前獨立運行register-center不同,大家注意defaultZone屬性,兩個注冊中心地址都指向對方進行結伴注冊
- 去掉fetch-registry 與 register-with-eureka配置(其實這樣做就會取對應的默認值,兩個值均為true)
- 啟動第一個注冊中心時會報Cannot execute request on any known server的錯誤,暫時不管它,實際上eureka注冊中心的ui界面是能打開的
- 所有注冊中心的節點的spring.application.name必須保持一致。
- 當需要往注冊中心集群注冊服務時的寫法:defaultZone:http://server1:8080/eureka,http://server2:8081/eureka
啟動完畢后,訪問地址:http://localhost:8080 得到如下界面:
我們可以看到注冊中心地址已經標記為集群模式了