Spring Cloud(F版)搭建高可用服務注冊中心


上一篇文章【Spring Cloud搭建注冊中心】成功搭建了一個Eureka Server服務注冊中心,不過相信細心的朋友都會發現,這個服務注冊中心是一個單節點服務注冊中心,萬一發生故障或者服務器宕機,那所有的服務可就不能使用了,這個在生產環境了是不允許的。

Eureka Server其實設計早就考慮到了高可用性,Eureka Server可以將自己作為服務注冊到其他服務注冊中心,這樣可以互相注冊,以實現服務清單的同步,達到高可用的效果。

——————————————————————————————————————————————————————

添加配置文件

在我們上一篇文章中,搭建的eureka-server-test項目中添加兩個配置文件,aplication-peer1.properties和aplication-peer2.properties,詳細配置文件內容如下:

#端口號
server.port=8081
spring.profiles=peer1
eureka.instance.hostname=peer1
#向注冊中心注冊服務
eureka.client.registerWithEureka=false
# 檢索服務
eureka.client.fetchRegistry=false
eureka.client.serviceUrl.defaultZone=http://peer2:8082/eureka/
#在Eureka服務器獲取不到集群里對等服務器上的實例時,需要等待的時間
server.waitTimeInMsWhenSyncEmpty=0
#自我保護模式
server.enableSelfPreservation=false
#端口號
server.port=8082
spring.profiles=peer2
eureka.instance.hostname=peer2
#向注冊中心注冊服務
eureka.client.registerWithEureka=false
# 檢索服務
eureka.client.fetchRegistry=false
eureka.client.serviceUrl.defaultZone=http://peer1:8081/eureka/
#在Eureka服務器獲取不到集群里對等服務器上的實例時,需要等待的時間
server.waitTimeInMsWhenSyncEmpty=0
#自我保護模式
server.enableSelfPreservation=false

在peer1配置文件中,serviceUrl指向peer2,而peer2配置文件中,serviceUrl指向peer1,這樣就做到了相互注冊。這里還需要注意在本地測試的時候,我們需要修改host文件(C:\Windows\System32\drivers\etc),添加以下內容:

127.0.0.1 peer1
127.0.0.1 peer2

生成jar包

使用IDEA進行Maven Intall,【 IntelliJ IDEA 社區版 Maven Install 和Maven clean
在這里插入圖片描述

啟動兩個注冊服務中心

這里我們不使用IDEA進行項目啟動,而是直接通過命令來啟動。

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

在這里插入圖片描述
在這里插入圖片描述
啟動成功之后,在瀏覽器中進行訪問,這時候在8081的DS Replicas中可以看到peer2節點,在8082的DS Replicas中可以看到peer1節點,這樣我們雙節點的服務注冊中心就搭建好了。

啟動服務提供者

依然是上一篇文章中創建的eureka-client-test項目,修改提供者的配置文件:

server.port=9081
spring.application.name=client-demo
eureka.client.serviceUrl.defaultZone=http://peer1:8081/eureka/,http://peer2:8082/eureka/

此處兩個服務注冊中的地址都添加上,以","分隔。
在這里插入圖片描述
在這里插入圖片描述

然后分別訪問http://localhost:8081/ 和 http://localhost:8082/ 可以看到提供者已經注冊到兩個服務注冊中心了。

到這里,一個高可用的服務注冊中心集群就搭建完成了。


免責聲明!

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



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