大话SpringCloud---Eureka的自我保护

在这里插入图片描述

相信大家第一次使用Eureka作为服务注册中心时,都看到这一行话吧。这个是Eureka的自我保护机制

什么是自我保护机制?

先来讲一个小故事吧。小明大学毕业后出来租房子住,年前找了个不错的房子。于是先签了合同。但是过年回家时赶上了疫情,一直被困在家里出不来。这时小明开始拖欠房租了。刚刚拖欠一天,房东就把小明的东西丢了出去…

有点现实,但我们也会想房东有点不近人情。如果房东先等几天,打个电话问下小明情况,说不定会好一点。

自我保护机制正是如此。

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

简单来说,就一句话,好死不如赖活着。如果一段时间没有收到微服务的心跳反应,先不急着注销,等一段时间看看。对于可能是健康的微服务宁可留着,也绝不错杀。这样子提高了整个系统的可用性和容错率。符合分布式CAP中的AP。

再回到那个故事,原来小明不是故意拖欠房租,只是家里网络问题,没有网络,第二天网络就好了。而房东选择了等,于是就等到了小明的房租。这里房东就是EurekaServer,而小明就是EurekaClient

最后再来看一下官方的定义,感谢观看🙏


自我保护模式正是一种针对网络异常波动的安全保护措施,使用自我保护模式能使Eureka集群更加的健壮、稳定的运行。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值