1. 程式人生 > >如何解決Eureka Server不剔除已關停的節點的問題

如何解決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
  • 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

原文地址:http://blog.csdn.net/rickiyeat/article/details/71041648#comments