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

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

檢查 time 解決 csdn comm 默認 true boot log

轉: http://blog.csdn.net/rickiyeat/article/details/71041648

背景:由於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秒)

示例:

server端配置:
eureka:
    server:
        enableSelfPreservation: false
        evictionIntervalTimerInMs: 4000
client配置:
eureka:
    instance:
        leaseRenewalIntervalInSeconds: 10
        leaseExpirationDurationInSeconds: 30

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

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