lp1*_*776 33 spring-cloud netflix-eureka
我目前正面临一个问题,即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可能会不正当地提出申请.更新的数量超过了阈值,并且这些实际情况并未到期,只是为了安全起见.
我该如何防止这种行为?
lp1*_*776 42
我意识到自我保护模式从未真正被禁用.事实证明,实际的财产是
eureka.server.enableSelfPreservation=false
Run Code Online (Sandbox Code Playgroud)
(请参阅DefaultEurekaServerConfig代码),我在任何地方都没有找到它.这解决了我的问题.
Pet*_*nto 26
我通过设置以下值来进行服务注销工作
Eureka服务器application.yml
eureka:
server:
enableSelfPreservation: false
Run Code Online (Sandbox Code Playgroud)
服务application.yml
eureka:
instance:
leaseRenewalIntervalInSeconds: 1
leaseExpirationDurationInSeconds: 2
Run Code Online (Sandbox Code Playgroud)
完整的示例在这里https://github.com/ExampleDriven/spring-cloud-eureka-example
| 归档时间: |
|
| 查看次数: |
27859 次 |
| 最近记录: |