一.簡介
學習Zookepper服務註冊的時候,註冊中心是能實現高可用的,但現在的Eureka還是單節點的情況,如果Eureka出現了錯誤,將會導致整個集羣無法繼續使用,這個時候就需要考慮Eureka的高可用了。
二.核心代碼
前提:避免DNS解析,所以我們選擇修改hosts文件實現。在文件作出以下配置
127.0.0.1 eureka1
127.0.0.1 eureka2
127.0.0.1 eureka3
1.application.yml的配置
server:
port: 7001
eureka:
server:
eviction-interval-timer-in-ms: 1000 #設置清理的間隔時間,而後這個時間使用的是毫秒單位(默認是60秒)
enable-self-preservation: false #設置爲false表示關閉保護模式
client:
fetch-registry: false
register-with-eureka: false
service-url:
#defaultZone: http://admin:enjoy@localhost:7001/eureka
defaultZone: http://admin:enjoy@eureka1:7001/eureka,http://admin:enjoy@eureka2:7002/eureka,http://admin:enjoy@eureka3:7003/eureka
instance: # eureak實例定義
hostname: eureka1 # 定義 Eureka 實例所在的主機名稱
其他三個服務端也模仿這個配置即可,只需修改
port,hostname
即可,具體意思也做了註釋
admin:enjoy@
這個處於安全控制,做了服務之間的認證,不涉及可直接去掉。
三.結論
啓動三臺服務器,在瀏覽器輸入http://eureka1:7001/login
如果設置了認證首先看到這個
輸入你上面設置的admin:enjoy即可登錄進去。
在eureka1節點上面可以看到eureka2和eureka3節點,說明配置高可用HA成功。