如何解決Eureka Server不剔除已關停的節點的問題

背景:由於Eureka擁有自我保護機制,當其註冊表裏服務因爲網絡或其他原因出現故障而關停時,Eureka不會剔除服務註冊,而是等待其修復。這是AP的一種實現。 
爲了讓其有精準的 CP健康檢查,可以採取讓其剔除不健康節點。

server端:
eureka.server.enable-self-preservation//(設爲false,關閉自我保護主要)
eureka.server.eviction-interval-timer-in-ms//清理間隔(單位毫秒,默認是60*1000)
client端:
eureka.client.healthcheck.enabled = true//開啓健康檢查(需要spring-boot-starter-actuator依賴)
eureka.instance.lease-renewal-interval-in-seconds =10//租期更新時間間隔(默認30秒)
eureka.instance.lease-expiration-duration-in-seconds =30//租期到期時間(默認90秒)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

示例:

server端配置:
eureka:
    server:
        enableSelfPreservation: false
        evictionIntervalTimerInMs: 4000
client配置:
eureka:
    instance:
        leaseRenewalIntervalInSeconds: 10
        leaseExpirationDurationInSeconds: 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

注意:更改Eureka更新頻率將打破服務器的自我保護功能

發佈了61 篇原創文章 · 獲贊 35 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章