背景:由于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更新频率将打破服务器的自我保护功能