從零開始學spring cloud(七) -------- Eureka 高可用機制
阿新 • • 發佈:2019-04-13
後端 url ima 監視 獨立 緩存 eureka word 情況下
一、Eureka高可用機制介紹
Eureka服務器沒有後端存儲,但註冊表中的服務實例都必須發送心跳以使其註冊保持最新(因此可以在內存中完成)。 客戶端還有一個Eureka註冊的內存緩存(因此,他們不必為服務的每個請求轉到註冊表)。
默認情況下,每個Eureka服務器也是Eureka客戶端,並且需要(至少一個)服務URL來定位對等體。 如果您不提供該服務,該服務將運行並正常運行,但它會在您的日誌中填充很多關於無法向對等方註冊的噪音。
二、實現Eureka高可用
兩個緩存(客戶端和服務器)和心跳的組合使得獨立的Eureka服務器能夠非常適應故障,只要有某種監視器或彈性運行時(例如Cloud Foundry)使其保持活動狀態即可。 在獨立模式下,您可能更願意關閉客戶端行為,以便它不會繼續嘗試並且無法訪問其對等方。 以下示例顯示如何關閉客戶端行為:
下面看一下項目中,是如何應用的,看一下配置文件
spring: application: name: EUREKA-HA security: user: name: user password: password123 --- server: port: 8761 spring: profiles: peer1 eureka: instance: hostname: peer1 client: serviceUrl: defaultZone: http://user:[email protected]:8762/eureka/,http://user:[email protected]:8763/eureka/ --- server: port: 8762 spring: profiles: peer2 eureka: instance: hostname: peer2 client: serviceUrl: defaultZone: http://user:[email protected]:8761/eureka/,http://user:[email protected]:8763/eureka/ --- server: port: 8763 spring: profiles: peer3 eureka: instance: hostname: peer3 client: serviceUrl: defaultZone: http://user:[email protected]:8761/eureka/,http://user:[email protected]:8762/eureka/
idea啟動配置中,做如下配置:
在系統的hosts中,增加127.0.0.1 peer1 peer2 peer3
然後啟動3個項目,通過瀏覽器訪問任意一個eureka,就可以出現如下的界面,
從零開始學spring cloud(七) -------- Eureka 高可用機制