我正和Eureka一起做POC。当我关闭服务实例时,它目前需要大约3分钟才能在Eureka控制台中显示。我假设(但不自信)这也意味着这个被击落的实例仍然可以被客户发现?
启用调试后,我可以看到服务器多次运行evict任务,然后确定我关闭的实例上的租约已过期。
我的设置是客户端:
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
eureka.instance.statusPageUrlPath=${management.context-path}/info
eureka.instance.healthCheckUrlPath=${management.context-path}/health
eureka.instance.leaseRenewalIntervalInSeconds=5
eureka.client.healthcheck.enabled=true
eureka.client.lease.duration=2
eureka.client.leaseExpirationDurationInSeconds=5
logging.level.com.netflix.eureka=DEBUG
logging.level.com.netflix.discovery=DEBUG
服务器:
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
logging.level.com.netflix.eureka=DEBUG
logging.level.com.netflix.discovery=DEBUG
eureka.server.enableSelfPreservation=false
我也在服务器上尝试过这些设置:
eureka.server.response-cache-update-interval-ms: 500
eureka.server.eviction-interval-timer-in-ms: 500
这些似乎会增加检查但不会减少服务器识别实例的时间。
我错过了一个设置吗?是否有最佳实践来关闭生产中的实例以立即获得此实例?
谢谢!