Spring cloud Eureka 服務治理(高可用服務中心)


在微服務的架構中,我們考慮發生故障的情況,所以在生產環境中我們需要對服務中各個組件進行高可用部署。

 

Eureka Server 的高可用實際上就是將自己作為服務想其它服務注冊中心注冊自己,這樣就形成了一組互相注冊的服務中心,

以實現服務清單 的互相同步,達到高可用的效果。

 

1. 創建 application-peer1.properties ,作為peer1服務中心的配置,並將serviceUrl 指向 peer2

spring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/

 

2. 創建 application-pee2.properties , 作為peer2服務中心的配置,比將serviceUrl 指向 peer1

spring.application.name=eureka-server
server.port=1112
eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/

 

3. 在本地HOST文件中添加配置,讓上面配置的host形式的serviceUrl能在本地正確訪問到

127.0.0.1 peer1  
127.0.0.1 peer2

 

4. 通過spring.profiles.active 屬性來分別啟動peer1, peer2

java -jar eureka-server-0.0.1.jar --spring.profiles.active=peer1
java -jar eureka-server-0.0.1.jar --spring.profiles.active=peer2

 

 

5. 啟動完成

6. 訪問 http://peer1:1111/ 截圖如下:

 

 

7. 訪問 http://peer2:1112/ 截圖如下:

 

 

8. 如果我們停掉一個服務,我們會發現這個服務會變成這個狀態 unavailable-replicas 狀態

 

9. 向服務中心注冊服務,我們使用之前/hello 程序,改造一下,並向我們搭建的高可用服務注冊中心注冊服務,修改application.properties 文件,如下:

 

# 指定應用名稱
spring.application.name= hello-service

# 構建服務中心的地址
eureka.client.serviceUrl.defaultZone= http://peer1:1111/eureka/,http://peer2:1112/eureka/

 

10. 啟動之后,就可以在服務注冊中心看到我們注冊上的服務了,截圖如下:

http://peer1:1111 結果:

 

 http://peer2:1112結果:

 

 


免責聲明!

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



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