Spring Boot Eureka - 更快的离线检测

Spring Boot Eureka - Faster offline detection

我正在使用 Spring Boot with Eureka,效果非常好。但是几个小时以来,我想更快地检测离线 Eureka instances/clients,但我没有找到关于 Eureka 配置属性的好文档。而且我什至不确定这是否可能,因为 Eureka 似乎假定客户端每 30 秒发送一次更新。

我开始停用自我保护模式并提高更新和间隔更新的速度并缩短过期时间,但我的 Eureka 服务器仍然需要两分钟才能发现其离线客户端。

更改续订百分比阈值后,Eureka 服务器从未删除离线客户端。

有什么方法可以更快地检测到离线的Eureka客户端吗?

服务器配置:

eureka:
  client:
    registerWithEureka: false
    fetchRegistry: false
  server:
    enableSelfPreservation: false
    eviction-interval-timer-in-ms: 10000
    response-cache-update-interval-ms: 5000

客户端配置:

eureka:
  client:
    serviceUrl:
      defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
    healthcheck:
      enabled: true
  instance:
    lease-renewal-interval-in-seconds: 5
    lease-expiration-duration-in-seconds: 15

编辑: 甚至健康检查 url 也不会被更频繁地调用。它仍然每 30 秒调用一次。

您检查功能区配置了吗? Ribbon 可以在启动期间预先缓存服务器配置,并在 Eureka-server 关闭时使用它。请检查 eureka-client app 是否启用了 ribbon

更改时间表的正确选项是:

eureka.client.instance-info-replication-interval-seconds