spring cloud實現(xiàn)Eureka注冊中心的HA的方法
前言:
在前面的例子中,我們的Eureka Server都是單節(jié)點的,一旦該節(jié)點在生產(chǎn)中掛掉,就無法再提供服務(wù)的注冊,為了保證注冊中心的高可用,在生產(chǎn)中一般采用多節(jié)點的服務(wù)注冊中心。
一、在hosts文件中加入如下配置
127.0.0.1 peer1 127.0.0.1 peer2
二、修改application.yml配置文件
--- spring: profiles: peer1 # 指定profile=peer1 application: name: Eureka-Server1 server: port: 8761 # 注冊服務(wù)的端口號 eureka: instance: hostname: peer1 # 指定當profile=peer1時,主機名 client: serviceUrl: defaultZone: http://peer2:8762/eureka/ # 將自己注冊到peer2這個Eureka上面去 --- spring: profiles: peer2 application: name: Eureka-Server2 server: port: 8762 eureka: instance: hostname: peer2 client: serviceUrl: defaultZone: http://peer1:8761/eureka/ # 服務(wù)注冊地址,將自己注冊到peer2上去
三、打jar包
在命令行輸入如下命令:
mvn clean package
四、執(zhí)行jar
java -jar springcloud-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1 java -jar springcloud-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
五、訪問Eureka Server
在瀏覽器輸入:http://localhost:8761/
在瀏覽器輸入:http://localhost:8762/
發(fā)現(xiàn)有點問題:registered-replicas和unavailable-replicas中都存在Eureka Server,并且當前的Eureka Server不可用,原因如下:在注冊的時候,配置文件中的
spring: application: name: Eureka-Server2
必須一致,下面我們將兩個Eureka Server中的name都改成Eureka-Server,結(jié)果如下:
六、將服務(wù)注冊到雙Eureka Server上
只需修改defaultZone即可
# Eureka Server注冊服務(wù)的地址 eureka.client.service-url.defaultZone=http://peer1:8761/eureka/,http://peer2:8762/eureka
七、高可用驗證
1、在瀏覽器輸入:http://localhost:7902/user/1
結(jié)果如下:
{"id":1,"username":"user1","name":"張三","age":20,"balance":100.00}
說明服務(wù)可用
2、將Eureka Server2停掉,發(fā)現(xiàn)Server2不可用
3、再次在瀏覽器中輸入:http://localhost:7902/user/1
{"id":1,"username":"user1","name":"張三","age":20,"balance":100.00}
通過上面幾個步驟,就可以實現(xiàn)Eureka的HA了,有些小坑要注意一下!
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java Gui實現(xiàn)肯德基點餐收銀系統(tǒng)
這篇文章主要為大家詳細介紹了java Gui實現(xiàn)肯德基點餐收銀系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01基于spring-mvc.xml和application-context.xml的配置與深入理解
這篇文章主要介紹了spring-mvc.xml和application-context.xml的配置與深入解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08SpringCloudAlibaba Nacos開啟鑒權(quán)解決跳過登錄頁面問題
對于Nacos,如果需要開啟權(quán)限控制,可以在 Nacos 控制臺上進行配置,本文主要介紹了SpringCloudAlibaba Nacos開啟鑒權(quán)解決跳過登錄頁面問題,感興趣的可以了解一下2023-10-10使用ScheduledThreadPoolExecutor踩過最痛的坑
這篇文章主要介紹了使用ScheduledThreadPoolExecutor踩過最痛的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08