【问题标题】:Eureka service instance is stopped in docker but in eureka server it always says its upEureka 服务实例在 docker 中停止,但在 eureka 服务器中它总是说它已启动
【发布时间】:2021-12-08 23:10:36
【问题描述】:

遇到了 eureka 运行状况检查问题。 eureka.client.healthcheck.enabled:真。即使我手动停止我的服务,尤里卡服务器也会说它已经启动。有人能给我一些关于如何获得服务状态 DOWN 的建议吗?

【问题讨论】:

  • 澄清一下,您已将此eureka.client.healthcheck.enabled: true 添加到客户端,对吗?

标签: java microservices netflix-eureka


【解决方案1】:

因此客户端服务向服务器发送心跳,以指示其状态。

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

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

您可以在here 找到更多详细信息,这里是Github thread

还有一种叫做自保eureka.server.enable-self-preservation

当 Eureka 服务器没有接收到超过特定阈值的心跳(来自对等方和客户端微服务)时,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 Self Preservation and Renewal的指南

【讨论】:

    猜你喜欢
    • 2018-09-02
    • 2020-08-28
    • 2020-05-22
    • 1970-01-01
    • 2021-06-15
    • 2021-03-22
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多