如何解决Eureka Server不剔除已关停的节点的问题?
背景:由于Eureka拥有自我保护机制,当其注册表里服务因为网络或其他原因出现故障而关停时,Eureka不会剔除服务注册,而是等待其修复。这是AP的一种实现。为了让其有精准的CP健康检查,可以采取让其剔除不健康节点。server端:eureka.server.enable-self-preservation//(设为false,关闭自我保护主要)eureka.server.evict
·
背景:由于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更新频率将打破服务器的自我保护功能
更多推荐
已为社区贡献12条内容
所有评论(0)