Eureka服务实例在docker中停止,但在Eureka服务器中它总是显示up



eureka健康检查出现问题。eureka.client.healthcheck.enabled:没错。这样,即使我手动停止我的服务,尤里卡服务器说它启动了。有人能给我一些建议,如何获得服务状态下降?

所以客户端服务发送心跳到服务器,以指示它们的状态。

默认值为30秒,即客户端每30秒发送一次心跳。

您可以配置:eureka.instance.lease-renewal-interval-in-seconds=30

你可以在这里找到更多的细节,这里是一个Github线程

还有一种东西叫做自我保护eureka.server.enable-self-preservation

当Eureka服务器没有接收到超过一定阈值的心跳(来自对等端和客户端微服务)时,它将停止从注册表中过期客户端实例。

所以你有这些主要的配置:

  • eureka.server.enable-self-preservation:禁用自保功能配置-默认为true

  • eureka.server.expected-client-renewal-interval-seconds:服务器期望客户端心跳间隔配置此属性-默认值为30

  • eureka.instance.lease-expiration-duration-in-seconds:表示Eureka服务器从收到客户端的最后一次心跳开始等待的时间(以秒为单位),然后才能从注册表中删除该客户端—默认值为90

  • eureka.server.eviction-interval-timer-in-ms:此属性告诉Eureka服务器以此频率运行作业以退出过期的客户端-默认值是60秒

  • eureka.server.renewal-percent-threshold:基于此属性,服务器计算所有注册客户端每分钟的预期心跳数-默认值为0.85

  • eureka.server.renewal-threshold-update-interval-ms:此属性告诉Eureka服务器以此频率运行作业,以计算当前所有注册客户端的预期心跳-默认值为15分钟

这里是Eureka自我保护和更新指南