SpringCloud(一) —Eureka自我保护机制

Eureka自我保护机制

为什么产生自我保护

​ 为了防止eurekaclient可以正常运行,但是eurekaserver网络不通情况下,eurekaservice不会立刻将eurekaclient服务剔除

生么是自我保护

​ 默认情况下,如果eurekaserver在一定时间内没有接受到某个微服务实例的心跳,eurekaserver将会注销该实例(默认90s)。但是当网络分区故障发生(延迟、卡顿、拥挤)时,微服务于eurekaserver之间无法正常通信,以上行为可能变得非常危险了----因为微服务本身其实时健康的,此时不应该注销这个微服务。eureka通过“自我保护模式”来解决这个问题----当eurekaserver节点在短时间内丢失过多的客户端时(可能发生了网络分区故障),那么这个节点就会进去自我保护机制模式。
在这里插入图片描述

​ 如果Eureka在server端在一定时间内(默认90秒)没有收到EurekaClient发送心跳包,便会直接从服务注册列表中剔除该服务,但是在短时间(90秒中)内丢失了大量的服务实例心跳,这时候EurekaServer会开启自我保护机制,不会剔除该服务(该现象可能出现在如果网络不通但是EurekaClient为出现宕机,此时如果换做别的注册中心如果一定时间内没有收到心跳会将剔除该服务,这样就出现了严重失误,因为客户端还能正常发送心跳,只是网络延迟问题,而保护机制是为了解决此问题而产生的)

禁止自我保护

注册端

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-szpUJf5b-1604913500414)(C:\Users\WH\AppData\Roaming\Typora\typora-user-images\image-20201109165611241.png)]

服务提供端

在这里插入图片描述

在注册端加入这行代码

eureka.server.enable-self-preservation: false

关闭后eureka显示
在这里插入图片描述
关闭自我保护后,只要收不到心跳包后就直接剔除了该微服务提供者。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值