gpt4 book ai didi

spring-cloud - Eureka 从不注销服务

转载 作者:行者123 更新时间:2023-12-03 08:35:43 25 4
gpt4 key购买 nike

我目前面临 Eureka 没有取消注册已注册服务的问题。我直接从 git hub 中提取了 Eureka 服务器示例,并且只做了一个更改,eureka.enableSelfPreservation = false .我的 application.yml 看起来像这样:

server:
port: 8761
eureka:
enableSelfPreservation: false
client:
registerWithEureka: false
fetchRegistry: false
server:
waitTimeInMsWhenSyncEmpty: 0

我读过,如果 85% 的注册服务在 15 分钟内停止提供心跳,Eureka 认为问题与网络有关,并且不会取消注册没有响应的服务。就我而言,我只运行了一项服务,因此我禁用了自我保护模式。我突然终止了这个进程,而 Eureka 将服务注册了似乎无限期的时间。

我客户的 application.yml 看起来像这样:
eureka:
instance:
leaseRenewalIntervalInSeconds: 3
client:
healthcheck:
enabled: true
serviceUrl:
defaultZone: http://localhost:8761/eureka/
appInfo:
replicate:
interval: 3
initial:
replicate:
time: 3
spring:
rabbitmq:
addresses: ${vcap.services.${PREFIX:}rabbitmq.credentials.uri:amqp://${RABBITMQ_HOST:localhost}:${RABBITMQ_PORT:5672}}

我的目标是创建一个演示,让 Eureka 快速检测到服务不再运行,而另一个启动的服务可以快速注册自己。

截至目前,一旦 eureka 客户端启动,它会在 3 秒内注册。当服务突然终止时,它永远不会取消注册。在我终止服务后,Eureka 仪表板显示:

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.



我怎样才能防止这种行为?

最佳答案

我意识到自我保护模式实际上从未被禁用。事实证明,实际的属性(property)是

eureka.server.enableSelfPreservation=false

(请参阅 DefaultEurekaServerConfig 代码),我没有在任何地方找到记录。这解决了我的问题。

关于spring-cloud - Eureka 从不注销服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32616329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com