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