SpringCloud之eureka自我保护机制

当第一次服务注册到eureka的时候,eureka就确定这个服务是存活的,当你把这个服务关闭后,你再看注册中心列表发现这个服务还在,这时候调用服务的时候就会报错,那这是为什么呢?

原因就是其实在服务和注册中心之间一直会每隔一段时间发送心跳包,当注册中心突然收不到服务发的心跳包的时候,在90秒内(默认)没有重连的话就会剔除掉,但是万一只是服务与注册中心之间网络不通畅呢?这个服务并没有宕机呢?如果就这么剔除掉的话肯定是不对的,所以就有了自我保护机制,当突然收不到心跳包的时候,注册中心就以为是网络不通畅从而进入自我保护机制,就不会剔除列表中的服务了.

在开发过程中一般是关闭了自我保护机制的,因为开发过程中注册中心一般是不关闭的,如果你修改了服务的代码然后重启这个服务的话,代码得不到及时的更新.还是旧的代码.

关闭自我保护机制,在注册中心加下面配置

发布服务端加上如下配置就可以了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值