高可用Eureka注册中心配置说明(双机部署)
目? 錄
1. 高可用EureKa注冊中心示意圖
2. Eureka實例相互注冊配置
3. 微服務注冊到Eureka配置
4. 啟動步驟及配置成功檢查
5. 說明事項
1. 高可用EureKa注冊中心示意圖
Spring Cloud的Eureka Server的高可用實際上就是將自己作為服務向其他服注冊中心注冊自己,形成一組互相注冊的服務注冊中心,以實現服務清單的互相同步,達到高可用的效果。
如下圖,Eureka server 1, Eureka server 2相互感應,當有服務注冊時,多個Eureka-server是對等的,它們都存有相同的信息,這就是通過服務器的冗余來增加可靠性,當有一臺服務器宕機了,服務并不會終止,因為另一臺服務存有相同的數據。
2. Eureka實例相互注冊配置
Eureka通過運行多個實例,使其更具有高可用性,這是它默認的屬性,需要做的就是給對等的實例一個合法的關聯serviceUrl,分別配置Eureka多個實例的application.yml 使其相互注冊。
比如有兩個eureka服務,分別部署在兩臺服務器上。
第1個Eureka 配置文件application.yml如下:
?
第2個Eureka 配置文件application.yml如下:
項目中Eureka配置非常簡單,分別部署在兩臺機器上,只須按如下配置每個Eureka并修改defaultZone中的server1-IP 和 server2-IP ,根據實際情況改為服務器具體的IP即可。
配置完上述步驟,兩個Eureka服務相互注冊,即可啟用Eureka的HA屬性。
3. 微服務注冊到Eureka配置
比如,tpp-acc注冊到Eureka
配置文件中,eureka.client.serviceUrl.defaultZone 增加以上多個Eureka對應的URL:
?
4. 啟動步驟及配置成功檢查
先啟動Eureka1Application,Eureka2Application,然后啟動其他的微服務
每個注冊中心的available-replicas都出現另外的注冊中心的服務,則說明搭建成功。
?
例如:
我本機分別啟動了三個Eureka實例,由于我本地是單機環境,分別通過機器IP、127.0.0.1和localhost作為三個Eureka的hostname,如下:
http://172.20.16.198:8761/,
http://127.0.0.1:8762/
http://localhost:8763/
每個注冊中心的available-replicas都出現其他兩個注冊中心的服務,說明搭建成功。
如下圖,其中http://localhost:8763/ 可以看到其他8761? 8762兩個服務。
另外,啟動example-service:8080進行注冊,在每個注冊中心都能看到相同的服務已注冊。
當關掉其中一臺Eureka服務時,則出現在unavailable-replicas中,如下圖。
5. 說明事項
Eureka互相注冊要求各個Eureka實例的eureka.instance.hostname不同,如果相同,則會被Eureka標記為unavailable-replicas。
把eureka.instance.hostname取了${spring.cloud.client.ipAddress}的值,這個值取的是當前啟動Eureka的機器的IP,這樣雖然配置一樣但卻自動區分了每臺機器的Eureka,這時我們再取prefer-ip-address: true,就可以確保機器優先使用IP而不是到hosts解析域名。
?
轉載于:https://www.cnblogs.com/Dev0ps/p/9899621.html
總結
以上是生活随笔為你收集整理的高可用Eureka注册中心配置说明(双机部署)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python打造社工脚本
- 下一篇: [Hadoop] - Win7下提交jo