我目前面临一个问题,即 Eureka 永远不会清除由于 VM 意外停机而变得陈旧的服务实例。可以理解的是,Eureka 的自我保护模式启动了,因为服务更新/心跳请求大幅下降(低于阈值)。然而,15 个多小时后,死亡的实例仍然在 Eureka 中注册。这是一个主要问题,因为服务请求继续被定向到死实例,只是为了返回错误。
我希望阈值不断调整,一段时间后,尤里卡的阈值将处于新的规范水平,自我保护模式将被重置。我们在镜像设置中使用 Eureka,我们的配置不是很复杂。
我们的设置:
尤里卡通过 spring-boot-starter-parent 1.2.5.RELEASE
eureka:
dashboard:
path: services
enabled: false
instance:
hostname: localhost
leaseRenewalIntervalInSeconds: 3
metadataMap:
managementPath: /admin
instanceId: discoveryPrimary
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
waitTimeInMsWhenSyncEmpty: 0
是否可以调整 Eureka 配置以重置自我保存模式(它停止清除实例)并在服务停止 5 分钟以上时允许它清除服务注册表?