了解Netflix Eureka租赁 - 服务保持取消注册

时间:2015-10-01 14:05:58

标签: spring-cloud netflix-eureka

我一直在与我的一个Spring Cloud Eureka客户发生间歇性问题,但其他人都没有。当我开始我的" NCLSEARCHSERVICE"它注册了Eureka,show" UP"在尤里卡约30秒到一分钟,然后取消注册。以下是来自Eureka服务器的日志,显示它注册了我的所有其他服务,但未能注册我的搜索服务,因为" Lease未注册"。很抱歉日志文件复制/粘贴格式不佳。

2015-10-01 09:48:55.144  WARN 6470 --- [nio-8761-exec-4] com.netflix.eureka.InstanceRegistry      : DS: Registry: lease doesn't
     

存在,注册资源:CONFIGSERVICE - 172.18.100.120 2015-10-01   09:48:55.145警告6470 --- [nio-8761-exec-4]   c.n.eureka.resources.InstanceResource:未找到(续订):   CONFIGSERVICE - 172.18.100.120 2015-10-01 09:48:55.147 WARN 6470 ---   [nio-8761-exec-2] com.netflix.eureka.InstanceRegistry:DS:   注册表:租约不存在,注册资源:ZUULSERVER -   eXploit-Zuul 2015-10-01 09:48:55.147 WARN 6470 --- [nio-8761-exec-2]   c.n.eureka.resources.InstanceResource:未找到(续订):   ZUULSERVER - eXploit-Zuul 2015-10-01 09:48:55.419 INFO 6470 ---   [nio-8761-exec-7] com.netflix.eureka.InstanceRegistry:   注册实例ID 172.18.100.120,状态为2015-10-01   09:48:55.423 INFO 6470 --- [nio-8761-exec-8]   com.netflix.eureka.InstanceRegistry:已注册的实例ID   eXploit-Zuul,状态UP 2015-10-01 09:48:55.778 INFO 6470 ---   [nio-8761-exec-9] com.netflix.eureka.InstanceRegistry:   注册实例ID 172.18.100.120,状态为2015-10-01   09:48:55.809 INFO 6470 --- [io-8761-exec-10]   com.netflix.eureka.InstanceRegistry:已注册的实例ID   eXploit-Zuul,状态UP 2015-10-01 09:49:05.416 WARN 6470 ---   [nio-8761-exec-3] com.netflix.eureka.InstanceRegistry:DS:   注册表:租约不存在,注册资源:GEOSERVER -   172.18.100.155 2015-10-01 09:49:05.418 WARN 6470 --- [nio-8761-exec-3] c.n.eureka.resources.InstanceResource:Not Found   (续订):GEOSERVER - 172.18.100.155 2015-10-01 09:49:05.441 INFO 6470   --- [nio-8761-exec-5] com.netflix.eureka.InstanceRegistry:已注册实例ID 172.18.100.155,状态为STARTING 2015-10-01   09:49:05.607 INFO 6470 --- [nio-8761-exec-4]   com.netflix.eureka.InstanceRegistry:已注册的实例ID   172.18.100.155,状态为STARTING 2015-10-01 09:49:05.948 INFO 6470 --- [nio-8761-exec-8] com.netflix.eureka.InstanceRegistry:注册实例ID 172.18.100.197,状态为UP 2015-10 -01   09:49:06.107 INFO 6470 --- [nio-8761-exec-9]   com.netflix.eureka.InstanceRegistry:已注册的实例ID   172.18.100.197状态UP 2015-10-01 09:49:11.175 WARN 6470 --- [io-8761-exec-10] c.n.eureka.resources.InstanceResource:时间到   sync,因为上一个脏时间戳不同 - ReplicationInstance id   :172.18.100.155,注册地址:1443651207024收件人:1443651408538   复制:false 2015-10-01 09:49:11.197 INFO 6470 ---   [nio-8761-exec-3] com.netflix.eureka.InstanceRegistry:   注册实例ID 172.18.100.155,状态为2015-10-01   09:49:11.562警告6470 --- [nio-8761-exec-5]   c.n.eureka.resources.InstanceResource:同步的时间,因为   最后一个脏时间戳不同 - ReplicationInstance id:   172.18.100.155,注册时间:1443651408538传入:1443651207024复制:true 2015-10-01 09:49:11.607 INFO 6470 ---   [nio-8761-exec-4] com.netflix.eureka.InstanceRegistry:   注册实例ID 172.18.100.155,状态为2015-10-01   09:50:03.859 INFO 6470 --- [nio-8761-exec-6]   c.n.eureka.resources.InstanceResource:找到(取消):   NCLSEARCHSERVICE - 172.18.100.197 2015-10-01 09:50:03.870 INFO 6470   --- [io-8761-exec-10] com.netflix.eureka.InstanceRegistry:注册实例ID 172.18.100.197,状态为UP 2015-10-01   09:50:04.120 INFO 6470 --- [nio-8761-exec-2]   com.netflix.eureka.InstanceRegistry:已注册的实例ID   172.18.100.197状态UP 2015-10-01 09:50:04.130 INFO 6470 --- [nio-8761-exec-5] c.n.eureka.resources.InstanceResource:Found   (取消):NCLSEARCHSERVICE - 172.18.100.197 2015-10-01 09:50:04.745   WARN 6470 --- [nio-8761-exec-3] com.netflix.eureka.InstanceRegistry
  :DS:注册表:取消失败,因为租约未注册:   NCLSEARCHSERVICE:172.18.100.197

我的搜索服务的日志似乎没有显示任何有趣的内容,只是它在Eureka中看到它以前已经关闭,现在它将状态更改为:

  

2015-09-30 17:59:14.164 INFO 9056 --- [主要]   c.n.e.EurekaDiscoveryClientConfiguration:取消注册应用程序   nclSearchService与eureka,状态为DOWN 2015-09-30 17:59:14.164   INFO 9056 --- [main] com.netflix.discovery.DiscoveryClient   :看到本地状态更改事件StatusChangeEvent [current = DOWN,   previous = UP] 2015-09-30 17:59:14.208 INFO 9056 --- [nfoReplicator-0]   com.netflix.discovery.DiscoveryClient:   DiscoveryClient_NCLSEARCHSERVICE / 172.18.100.197:注册   服务... 2015-09-30 17:59:14.217 INFO 9056 --- [nfoReplicator-0]   com.netflix.discovery.DiscoveryClient:   DiscoveryClient_NCLSEARCHSERVICE / 172.18.100.197 - 注册状态:   204 2015-09-30 17:59:14.218 INFO 9056 --- [主要]   com.netflix.discovery.DiscoveryClient:   DiscoveryClient_NCLSEARCHSERVICE / 172.18.100.197 - 取消注册状态:   200 2015-09-30 17:59:14.218 INFO 9056 --- [主要]   c.n.e.EurekaDiscoveryClientConfiguration:注册应用程序   带有状态UP的eureka的nclSearchService

我的配置现在很乱,因为我一直在尝试不同的值和配置,但这是我正在使用的基本值:

spring:
  cloud:
    config:
#      uri: http://${CONFIG_SERVER_URL:172.18.100.120:8888}
      discovery:
        enabled: true
        serviceId: CONFIGSERVICE
  application:
    name: nclSearchService


eureka:
  client:
    enable-self-preservation: false
#    registerWithEureka: true
#    fetchRegistry: true
    serviceUrl:
      defaultZone: http://172.18.100.120:8761/eureka/
#    healthcheck:
#      enabled: true
  instance:
    leaseRenewalIntervalInSeconds: 30

# items below are listed in the config server
service:
    name: nclSearchService

security:
  sessions: NEVER

#instance:
#  preferIpAddress: true
#server:
#  port: 8080
#  contextPath: / 

您可以看到我还从配置服务动态加载配置,但这只是加载特定于应用程序的变量。

过去,如果我随机乱搞我的搜索服务上的配置,我可以让它在Eureka上稳定下来。但随后问题重新出现,我永远无法确定究竟是什么导致它。这似乎是Eureka及其实例注册表的一个问题,但我无法弄清楚如何解决它。

更新1: NCLSEARCHSERVICE使用spring-boot-dependencies 1.2.5.RELEASE和spring-cloud-netflix 1.1.0.M1。我的Eureka服务器使用相同版本的spring boot依赖项,但是spring-cloud-netflix 1.0.3.RELEASE。我尝试更新搜索服务,看看是否对我的问题有任何影响。如果建议所有服务使用相同的版本,我可以向上/向下移动版本。

我的故障排除中只有一次我尝试在我的搜索服务上调用/刷新。如果我没记错的话,它会经历相同的暂时显示过程,然后再次从注册表中删除。

更新2: 我可能已经缩小了问题...我在与端口8761上运行的Eureka服务器相同的VM上运行了端口8888上的配置服务器。我在搜索服务中禁用了动态配置并移动了nclSearchService.yml的内容从我的搜索服务上的配置服务器到application.yml。搜索服务已在Eureka注册,并已稳定约10分钟。

这很奇怪,因为即使我的搜索服务不再配置为使用配置服务,配置服务仍然已部署并运行。此外,即使搜索服务已取消注册,您也可以在日志中看到它已成功从配置服务中提取nclSearchService.yml文件,并且它将一直启动并可用于从中提取的属性。配置服务。

不确定这是什么意思:))

0 个答案:

没有答案