我目前正面临一个问题,即Eureka没有取消注册注册服务.我直接从git hub中取出了Eureka服务器示例,只进行了一次更改eureka.enableSelfPreservation = false.我的application.yml看起来像这样:
server:
port: 8761
eureka:
enableSelfPreservation: false
client:
registerWithEureka: false
fetchRegistry: false
server:
waitTimeInMsWhenSyncEmpty: 0
Run Code Online (Sandbox Code Playgroud)
我已经读过,如果85%的注册服务在15分钟内停止提供心跳,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}}
Run Code Online (Sandbox Code Playgroud)
我的目标是创建一个演示,其中Eureka快速检测到服务不再运行,另一个启动的服务可以快速注册.
截至目前,一旦eureka客户端启动,它将在3秒内注册.当服务突然终止时,它永远不会取消注册.在我终止服务后,Eureka仪表板显示:
紧急!当EUREKA不是时,EUREKA可能会不正当地提出申请.更新的数量超过了阈值,并且这些实际情况并未到期,只是为了安全起见.
我该如何防止这种行为?
java spring spring-cloud netflix-eureka spring-cloud-netflix
我目前正面临一个问题,即Eureka从未清除因虚拟机意外停机而变得陈旧的服务实例.可以理解的是,Eureka的自我保护模式已经启动,因为在服务续订/心跳请求中存在大幅下降(低于阈值).然而,15个多小时后,死亡的实例仍在Eureka注册.这是一个主要问题,因为服务请求继续被定向到死实例,仅返回错误.
我的希望是门槛不断调整,经过一段时间后,尤里卡的门槛将处于新的标准水平,自我保护模式将被重置.我们在镜像设置中使用Eureka,我们的配置不是很复杂.
我们的设置:
Eureka通过spring-boot-starter-parent 1.2.5.RELEASE
eureka:
dashboard:
path: services
enabled: false
instance:
hostname: localhost
leaseRenewalIntervalInSeconds: 3
metadataMap:
managementPath: /admin
instanceId: discoveryPrimary
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
waitTimeInMsWhenSyncEmpty: 0
Run Code Online (Sandbox Code Playgroud)
是否可以调整Eureka配置以重置自我保存模式(停止清除实例的位置)并允许它在服务已停止5分钟以上时清除服务注册表?
我已经创建了eureka服务注册表,并在其中注册了服务。当前,仅服务的一个实例正在运行。如何添加同一服务的多个实例?我正在开发独立应用程序。我正在通过Rest Template访问服务。我正在关注https://spring.io/guides/gs/service-registration-and-discovery/
我有一台 Eureka Server A 和两个客户端实例 B(Client3) 和 C(Client4)
我从Eureka Server获取日志,如下:
2018-01-25 12:56:27.828 INFO 7145 --- [nio-8765-exec-2] c.n.e.registry.AbstractInstanceRegistry : Registered instance CLIENT3/client3:bb488bb73fd313321e393915f746bfe5 with status UP (replication=false)
2018-01-25 12:56:28.417 INFO 7145 --- [nio-8765-exec-3] c.n.e.registry.AbstractInstanceRegistry : Registered instance CLIENT3/client3:bb488bb73fd313321e393915f746bfe5 with status UP (replication=true)
2018-01-25 12:56:33.028 INFO 7145 --- [nio-8765-exec-3] c.n.e.registry.AbstractInstanceRegistry : Registered instance CLIENT4/client4:9fcbf4ed26162ee12c4c4b85774c39b1 with status UP (replication=false)
2018-01-25 12:56:33.542 INFO 7145 --- [nio-8765-exec-8] c.n.e.registry.AbstractInstanceRegistry : Registered instance CLIENT4/client4:9fcbf4ed26162ee12c4c4b85774c39b1 with status UP (replication=true)
Run Code Online (Sandbox Code Playgroud)
a) 它们是什么意思?我的意思是每个客户出现两次
b) 更新阈值:5,更新(最后分钟):8,为什么更新最后分钟是 8,它应该是 4?由于只有两个客户,每个客户每分钟 2 次节拍
c) 当我启动第3个服务D(CLient5)时,更新阈值是6而不是7,这是为什么? …
我需要一些帮助来理解为什么在 Eureka 中注册的服务尽管没有实际运行,但仍希望相互通信。例如,我在 Eureka 注册了服务 A 和服务 B。如果我关闭服务 B,服务 A 仍会尝试与服务 B 通信 30 秒到 3 分钟,即使它没有运行。这样做的目的是什么?有什么办法可以解决吗?谢谢!