springcloud eureka幽灵服务【服务未启动,显示注册在eureka注册中心】

本人搭建的springcloud服务,一直运行好好的。版本,springboot 2.1.6  ,springcloud  Greenwich.SR1, 服务分布如下:

1号服务器:IP为0.0.0.1

      共三个服务,eureka注册中心,zuul网关,业务服务1

2号机器:IP为0.0.0.2

     共两个服务,业务服务2,业务服务3

              今天,出于某些原因考虑,想把业务服务1模块,和  业务服务2模块  互相换换位置。把 业务服务2模块放到1号机器,业务服务1模块放到2号机器。然后就出现了神奇的现象。在springcloud的eureka注册中心页面,一直显示有两个业务服务2模块注册在eureka注册中心,都呈现UP状态。IP分别是0.0.0.1 和  0.0.0.2 。我认为是0.0.0.2 的之所以显示是因为 旧的业务服务2模块还没被踢出导致的。等了好久,一直都没有踢掉。可是我的springcloud的自我保护机制一直都是关闭着的啊。一会我贴出配置:

       更神奇的是,我把所有的服务全都关闭,然后只打开eureka server 注册中心服务模块,过了30s,eureka注册中心页面显示,  0.0.0.2 机器上的业务服务2模块注册过来了,可此时2号机器已经没有业务服务2模块了,而且2号机器上我没有开启任何java进程,jps命令查看确认的。让我很懵逼。

       我干脆直接把2号机器停机了,竟然问题依旧,还是显示2号机器上有业务服务2模块在注册到eureka,tail -f 查看eureka注册中心的日志,显示0.0.0.2 s上的业务服务2模块一直在每隔30秒【springcloud服务默认的续约心跳时间】续约。简直就是一个幽灵一样,甩都甩不掉。我就感觉我给了他一枪,正中脑门,然后他倒在地上,嘴里却一直不断喊着我还活着我还活着,可我却看不见它。太尼玛瘆人了。我怀疑是eureka注册中心有问题,缓存?我把springcloud版本升级到Greenwich.SR4,问题还是依旧。难道是杀服务  kill -9 导致的?

       目前还没有解决掉这个问题,希望有朋友能够不吝赐教。

eureka注册中心配置文件:

eureka:
  server:
    enable-self-preservation: false   #   eureka自我保护开关  【ps;统计心跳失败的比例15min内是否低于85%】
    eviction-interval-timer-in-ms: 3000   #启用主动失效,并且每次主动失效检测间隔为3s
    response-cache-auto-expiration-in-seconds: 180 #eureka server缓存readWriteCacheMap失效时间
    response-cache-update-interval-ms: 3000 #eureka server刷新readCacheMap的时间
            # 部署两台Eureka服务器并启用registerWithEureka。    如果您只想在demo / dev环境中部署,则可以设置eureka.server.renewalPercentThreshold为0.49,因此当您单独启动Eureka服务器时,阈值将为0。
    renewal-percent-threshold: 0.49
  instance:
    hostname: 127.0.0.1
    lease-renewal-interval-in-seconds: 5 # 每间隔5s,向服务端发送一次心跳,证明自己依然”存活“
    lease-expiration-duration-in-seconds: 10 # 告诉服务端,如果我10s之内没有给你发心跳,就代表我“死”了,将我踢出掉。
  client:
    #  ps:如果配置多个服务注册中心,实现高可用性,这里就不能设置为false了,应该把这些服务注册中心模块在defaultzone里面互相注册。服务消费模块应该向所有的注册中心进行注册
    registerWithEureka: false       #不向注册中心注册自己,默认true
    fetchRegistry: false            #注册中心的职责就是维护服务实例,不需要去检索服务 【服务注册后注册中心会维护一份只读服务清单,这个清单就是要检索的内容】       ,默认为true           
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

 

------------------------

20200421

      今天早上刚又看了一眼注册中心,晚上睡了一觉,竟然正常了。。。昨天折腾大半天各种配置都没修复好,醉了。但是具体原因还是没有理解,打算追一遍源码。尤其是在服务都没启动的情况下,eureka竟然打印日志说服务在续约,这一点十分诡异。后续有进展继续追加。

    

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值