spring cloud實(shí)現(xiàn)Eureka注冊(cè)中心的HA的方法
前言:
在前面的例子中,我們的Eureka Server都是單節(jié)點(diǎn)的,一旦該節(jié)點(diǎn)在生產(chǎn)中掛掉,就無(wú)法再提供服務(wù)的注冊(cè),為了保證注冊(cè)中心的高可用,在生產(chǎn)中一般采用多節(jié)點(diǎn)的服務(wù)注冊(cè)中心。
一、在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 # 注冊(cè)服務(wù)的端口號(hào) eureka: instance: hostname: peer1 # 指定當(dāng)profile=peer1時(shí),主機(jī)名 client: serviceUrl: defaultZone: http://peer2:8762/eureka/ # 將自己注冊(cè)到peer2這個(gè)Eureka上面去 --- spring: profiles: peer2 application: name: Eureka-Server2 server: port: 8762 eureka: instance: hostname: peer2 client: serviceUrl: defaultZone: http://peer1:8761/eureka/ # 服務(wù)注冊(cè)地址,將自己注冊(cè)到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
五、訪問(wèn)Eureka Server
在瀏覽器輸入:http://localhost:8761/

在瀏覽器輸入:http://localhost:8762/

發(fā)現(xiàn)有點(diǎn)問(wèn)題:registered-replicas和unavailable-replicas中都存在Eureka Server,并且當(dāng)前的Eureka Server不可用,原因如下:在注冊(cè)的時(shí)候,配置文件中的
spring: application: name: Eureka-Server2
必須一致,下面我們將兩個(gè)Eureka Server中的name都改成Eureka-Server,結(jié)果如下:

六、將服務(wù)注冊(cè)到雙Eureka Server上
只需修改defaultZone即可
# Eureka Server注冊(cè)服務(wù)的地址 eureka.client.service-url.defaultZone=http://peer1:8761/eureka/,http://peer2:8762/eureka
七、高可用驗(yàn)證
1、在瀏覽器輸入:http://localhost:7902/user/1
結(jié)果如下:
{"id":1,"username":"user1","name":"張三","age":20,"balance":100.00}
說(shuō)明服務(wù)可用
2、將Eureka Server2停掉,發(fā)現(xiàn)Server2不可用
3、再次在瀏覽器中輸入:http://localhost:7902/user/1
{"id":1,"username":"user1","name":"張三","age":20,"balance":100.00}
通過(guò)上面幾個(gè)步驟,就可以實(shí)現(xiàn)Eureka的HA了,有些小坑要注意一下!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)常見(jiàn)幾大排序梳理
Java常見(jiàn)的排序算法有:直接插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序等。本文詳解介紹它們的實(shí)現(xiàn)以及圖解,需要的可以參考一下2022-03-03
SpringBoot權(quán)限認(rèn)證Sa-Token的使用總結(jié)
Sa-Token是一款輕量級(jí)Java權(quán)限認(rèn)證框架,適用于快速搭建權(quán)限系統(tǒng),它提供了豐富的功能,包括登錄認(rèn)證、權(quán)限驗(yàn)證、角色驗(yàn)證、Session會(huì)話管理等,并且具有良好的社區(qū)支持和文檔資源,下面重點(diǎn)給大家介紹SpringBoot權(quán)限認(rèn)證Sa-Token的使用,感興趣的朋友一起看看吧2025-02-02
Spring boot 使用JdbcTemplate訪問(wèn)數(shù)據(jù)庫(kù)
SpringBoot 是為了簡(jiǎn)化 Spring 應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署等一系列問(wèn)題而誕生的產(chǎn)物。本文重點(diǎn)給大家介紹spring boot 使用JdbcTemplate訪問(wèn)數(shù)據(jù)庫(kù),需要的朋友可以參考下2018-05-05
在SpringBoot中使用YourKit進(jìn)行性能調(diào)優(yōu)的教程詳解
在應(yīng)用程序的開(kāi)發(fā)過(guò)程中,性能調(diào)優(yōu)是一個(gè)重要的環(huán)節(jié),在SpringBoot應(yīng)用程序中,我們可以使用YourKit來(lái)進(jìn)行性能調(diào)優(yōu),YourKit是一款非常強(qiáng)大的Java性能調(diào)優(yōu)工具,在本文中,我們將介紹如何在 SpringBoot應(yīng)用程序中使用YourKit進(jìn)行性能調(diào)優(yōu)2023-06-06
jackson序列化和反序列化的應(yīng)用實(shí)踐指南
這篇文章主要給大家介紹了關(guān)于jackson序列化和反序列化的應(yīng)用實(shí)踐指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Spring中實(shí)現(xiàn)的三種異步流式接口方法
在現(xiàn)代Web開(kāi)發(fā)中,接口超時(shí)是一個(gè)常見(jiàn)的問(wèn)題,尤其是在處理耗時(shí)操作時(shí),傳統(tǒng)的同步接口在處理長(zhǎng)時(shí)間任務(wù)時(shí)會(huì)阻塞請(qǐng)求線程,從而影響系統(tǒng)的響應(yīng)能力,本文將詳細(xì)講解Spring中實(shí)現(xiàn)的三種異步流式接口方法,需要的朋友可以參考下2024-10-10
Java 動(dòng)態(tài)生成類(lèi)和實(shí)例, 并注入方法操作示例
這篇文章主要介紹了Java 動(dòng)態(tài)生成類(lèi)和實(shí)例, 并注入方法操作,結(jié)合實(shí)例形式分析了Java 動(dòng)態(tài)生成類(lèi)和實(shí)例以及動(dòng)態(tài)注入相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
Mybatis批量插入大量數(shù)據(jù)的最優(yōu)方式總結(jié)
批量插入功能是我們?nèi)粘9ぷ髦斜容^常見(jiàn)的業(yè)務(wù)功能之一,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Mybatis批量插入大量數(shù)據(jù)的幾種最優(yōu)方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
基于Java驗(yàn)證jwt token代碼實(shí)例
這篇文章主要介紹了基于Java驗(yàn)證jwt token代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12

