当前位置: 首页 > 知识库问答 >
问题:

了解Netflix Eureka租赁-服务不断注销

康烨伟
2023-03-14

我的一个Spring Cloud Eureka客户一直存在这种间歇性问题,但其他客户都没有。当我启动我的“NCLSEARCHSERVICE”时,它会向Eureka注册,在Eureka中显示“出现”大约30秒到一分钟,然后注销。以下是来自Eureka服务器的日志,显示它注册了我的所有其他服务,但由于“租约未注册”而未能注册我的搜索服务。很抱歉,日志文件复制/粘贴格式不正确。

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。资源。InstanceResource:未找到(续订):CONFIGSERVICE-172.18.100.120 2015-10-01 09:48:55.147警告6470---[nio-8761-exec-2]com。netflix。尤里卡。InstanceRegistry:DS:Registry:lease不存在,注册资源:ZUULSERVER-利用Zuul 2015-10-01 09:48:55.147警告6470---[nio-8761-exec-2]c.n.eureka。资源。InstanceResource:未找到(续订):ZUULSERVER-利用Zuul 2015-10-01 09:48:55.419信息6470---[nio-8761-exec-7]com。netflix。尤里卡。InstanceRegistry:已注册实例id 172.18.100.120,状态更新2015-10-01 09:48:55.423信息6470---[nio-8761-exec-8]com。netflix。尤里卡。InstanceRegistry:注册实例id利用Zuul漏洞攻击,状态更新2015-10-01 09:48:55.778信息6470---[nio-8761-exec-9]com。netflix。尤里卡。InstanceRegistry:已注册实例id 172.18.100.120,状态更新2015-10-01 09:48:55.809信息6470---[io-8761-exec-10]com。netflix。尤里卡。InstanceRegistry:已注册实例id利用Zuul漏洞攻击,状态更新2015-10-01 09:49:05.416警告6470---[nio-8761-exec-3]com。netflix。尤里卡。InstanceRegistry:DS:Registry:lease不存在,注册资源:GEOSERVER-172.18.100.155 2015-10-01 09:49:05.418 WARN 6470---[nio-8761-exec-3]c.n.eureka。资源。InstanceResource:未找到(续订):GEOSERVER-172.18.100.155 2015-10-01 09:49:05.441信息6470---[nio-8761-exec-5]com。netflix。尤里卡。InstanceRegistry:已注册实例id 172.18.100.155,状态开始于2015-10-01 09:49:05.607信息6470---[nio-8761-exec-4]com。netflix。尤里卡。InstanceRegistry:已注册实例id 172.18.100.155,状态开始于2015-10-01 09:49:05.948信息6470---[nio-8761-exec-8]com。netflix。尤里卡。InstanceRegistry:已注册实例id 172.18.100.197,状态更新2015-10-01 09:49:06.107信息6470---[nio-8761-exec-9]com。netflix。尤里卡。InstanceRegistry:注册实例id 172.18.100.197,状态更新2015-10-01 09:49:11.175警告6470---[io-8761-exec-10]c.n.eureka。资源。InstanceResource:同步时间,因为最后一个脏时间戳不同-复制Instance id:172.18.100.155,注册表:1443651207024传入:1443651408538复制:false 2015-10-01 09:49:11.197信息6470---[nio-8761-exec-3]com。netflix。尤里卡。InstanceRegistry:已注册实例id 172.18.100.155,状态更新2015-10-01 09:49:11.562警告6470---[nio-8761-exec-5]c.n.eureka。资源。InstanceResource:同步时间,因为最后一个脏时间戳不同-复制Instance id:172.18.100.155,注册表:1443651408538传入:1443651207024复制:true 2015-10-01 09:49:11.607信息6470---[nio-8761-exec-4]com。netflix。尤里卡。InstanceRegistry:注册实例id 172.18.100.155,状态更新2015-10-01 09:50:03.859信息6470---[nio-8761-exec-6]c.n.eureka。资源。InstanceResource:已找到(取消):NCLSEARCHSERVICE-172.18.100.197 2015-10-01 09:50:03.870信息6470---[io-8761-exec-10]com。netflix。尤里卡。InstanceRegistry:已注册实例id 172.18.100.197,状态更新2015-10-01 09:50:04.120信息6470---[nio-8761-exec-2]com。netflix。尤里卡。InstanceRegistry:注册实例id 172.18.100.197,状态更新2015-10-01 09:50:04.130信息6470---[nio-8761-exec-5]c.n.eureka。资源。InstanceResource:已找到(取消):NCLSEARCHSERVICE-172.18.100.197 2015-10-01 09:50:04.745警告6470---[nio-8761-exec-3]com。netflix。尤里卡。InstanceRegistry
:DS:Registry:cancel失败,因为租约未注册为:NCLSEARCHSERVICE:172.18.100.197

我的搜索服务的日志似乎没有显示任何有趣的东西,只是它在尤里卡看到它以前是向下的,现在它正在将状态更改为向上:

2015-09-30 17:59:14.164信息9056---[main]c.n.e.EurekaDiscoveryClientConfiguration:Unregisting application nclSearchService with eureka with status DOWN 2015-09-30 17:59:14.164信息9056---[main]com。netflix。发现DiscoveryClient:看到本地状态更改事件StatusChangeEvent[current=DOWN,previous=UP]2015-09-30 17:59:14.208信息9056---[nfoReplicator-0]com。netflix。发现DiscoveryClient:DiscoveryClient\n搜索服务/172.18.100.197:注册服务。。。2015-09-30 17:59:14.217信息9056---[NFOMeplicator-0]com。netflix。发现DiscoveryClient:DiscoveryClient\n搜索服务/172.18.100.197-注册状态:204 2015-09-30 17:59:14.218信息9056---[main]com。netflix。发现DiscoveryClient:DiscoveryClient\NCLSEARCHSERVICE/172.18.100.197-注销状态:200 2015-09-30 17:59:14.218信息9056---[main]c.n.e.EurekadiscoveryClient配置:向eureka注册状态为UP的应用程序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: / 

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

在过去,如果我继续随机干扰我的搜索服务上的配置,我可以让它在尤里卡上稳定下来。但是后来问题又出现了,我永远也找不到真正导致它的原因。这似乎是尤里卡和它的实例注册表的问题,但我不太明白如何修复它。

更新1:NCLSEARCHSERVICE正在使用Spring Boot依赖项1.2.5。发布并发布spring cloud netflix 1.1.0。M1。我的Eureka服务器使用的是相同版本的Spring Boot依赖项,但是spring cloud netflix 1.0.3。释放我尝试更新搜索服务,看看这是否对我的问题有任何影响。如果建议所有服务使用相同的版本,我可以向上/向下移动一个版本。

在故障排除过程中,我只有一次尝试调用/刷新搜索服务。如果我没记错的话,它也经历了同样的过程,即临时出现,然后再次从注册表中删除。

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

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

不知道这是什么意思:)

共有1个答案

方宁
2023-03-14

将docker内存从2GB增加到4GB修复了这个问题。也许增加VM内存也可以解决这个问题。

 类似资料:
  • 背景:当你从中介公司租车时,钥匙圈上有几条信息:车牌、品牌和年份,通常还有一个特殊的代码。该代码可用于公司计算机内的某些数据处理。本实验室将练习从车牌中确定特殊的租车代码。 工作分配: 以下步骤序列将用于将示例车牌转换为汽车租赁代码。 a、 车牌由3个字母后跟一个空格,再后跟一个3位整数组成。例如,CPR 607。 b、 将3个字母的ASCII值相加,67 80 82=229。 c.将字母之和加到

  • 代码: 如果花费时间超过1s(类似于网络的原因),那么另一个线程可以获得锁,但这会导致一些问题(例如超卖)。如果使用,当此客户端脱机时,它将永远不会解锁锁,其他客户端无法获得锁。如何解决或平衡这个问题?

  • 我正在做下面的家庭作业(我对Java还是个新手……),我对写LuxuryCarRental有一些疑问……我不确定我在CarRentall的工作是否正确。我还没有到UseCarRental。 创建一个名为 CarRental 的类,其中包含以下字段:租用者姓名、邮政编码、汽车大小、租车费、天数出租和总计出租费。 该类包含一个构造函数,它需要除总费用以外的所有租金数据,总费用根据汽车的大小计算:经济型

  • 本文向大家介绍详解spring-cloud与netflixEureka整合(注册中心),包括了详解spring-cloud与netflixEureka整合(注册中心)的使用技巧和注意事项,需要的朋友参考一下 基础依赖 eureka(单机) 服务端: 依赖 application.yml 配置 启动类添加 @EnableEurekaServer 客户端: 主要依赖 application.yml 配

  • 本文向大家介绍C#实现简单的汽车租赁系统,包括了C#实现简单的汽车租赁系统的使用技巧和注意事项,需要的朋友参考一下 最近学习了继承,多态,集合,设计模式,有一个汽车租凭系统,给大家分享一下: 我们首先来看看我们这个系统的效果 1.做一个项目,我们首先对项目进行分析 根据我们最近学的知识,我们可以看出继承,多态,集合,设计模式,我们都能用到 我们把所需要的类和简单模式中的“简单工厂”的工厂准备好  

  • 我目前正面临一个问题,即Eureka不能注销已注册的服务。我直接从git hub中提取了Eureka服务器示例,只做了一个更改,。我的application.yml如下所示: 到目前为止,一旦eureka客户端启动,它将在3秒内注册。它只是在服务突然终止时从不取消注册。在我终止服务后,Eureka仪表盘上写着: 紧急情况!EUREKA可能错误地声称实例已经出现,而它们不是.续约低于阈值,因此实例不