springboot2 springcloud Greenwich.SR3 構建微服務--2.eureka註冊中心的高可用

恭喜你的第一步應該跑起來了吧, 沒有就留言, 或者去羣裏問我吧, 肯定是可以跑起來的.

 

現在我們已經完成了eureka的單個註冊中心的新建, 萬一這個註冊中心掛了怎麼辦, 其他的服務不就不能通過應用的名字找到彼此了, 他們從此就失散了, 我可不想這樣的悲劇發生 ,所以我們要做註冊中心的高可用,  簡單點說其實就是註冊中心之間相互註冊.

我們要做的就是:

eureka-server2  向   eureka-server  註冊, eureka-server 向 eureka-server2註冊,

eureka-client同時向eureka-server 和 eureka-server2 註冊. 就這樣的一個示例. 當 eureka-server 或者 eureka-server2 任意掛了一個的時候, 都不會對提供的服務有影響.做到了高可用的示例.

當然了正常情況下, eureka-server 和 eureka-server2 肯定不在同一臺機器上, 不然一臺機器掛了, 那2個註冊中心不就一下全部掛掉了.

 

首先新建eureka-server2  springboot 項目

最後的pom文件和eureka-server 差不多, 

就改下artifactId 就差不多了, 變成<artifactId>eureka-servser2</artifactId>.

然後在啓動類上添加註解

@EnableEurekaServer

 

修改eureka-server2的配置文件:

spring.application.name=eureka-server2

#eureka-server2的端口號

server.port=8762

#向eureka-server進行註冊,所以是1的端口

eureka.client.service-url.defaultZone=http://localhost:8761/eureka

eureka.client.register-with-eureka=false

同時修改eureka-server項目的配置文件爲:

#應用端口號
server.port=8761

#應用的名字
spring.application.name=eureka-server

#eureka的註冊地址
eureka.client.service-url.defaultZone=http://localhost:8762/eureka

#eureka服務是否向自己註冊,默認true.
eureka.client.register-with-eureka=false

 

再修改eureka-client項目的配置文件爲:

#應用名字
spring.application.name=eureka-client

#端口號
server.port=8861

#註冊的url,  多個使用英文逗號做分隔
eureka.client.eureka-server-u-r-l-context=http://localhost:8761/eureka,http://localhost:8762/eureka

然後分別啓動eureka-server , eureka-server2 ,eureka-client項目. 去訪問http://localhost:8761
和http://localhost:8762 頁面, 查看是否註冊成功.

 

改完了分別啓動 eureka-server 和 eureka-server2 ,在啓動eureka-client 就可以看到他們相互註冊了.

在關掉一個服務 eureka-server 或者 eureka-server2  依然可以在註冊中西中看到的註冊的 eureka-client  示例.

 

說到高可用了, 我們只使用了2個服務註冊中心 , 其實應該是多個, 3個/5個......,  因爲我電腦卡. 所以就不弄多個了.

 

建議, eureka的高可用的時候,生產上至少2臺, 最好有3個實例, 進行相互註冊.

 

Java Framework,歡迎各位前來交流java相關
QQ羣:965125360

 

整個代碼地址是:

https://github.com/changhe626/micro-service

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章