EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY‘RE NOT. RENEWALS ARE LESSER

Eureka的自我保护模式在面临网络故障时启用,防止健康的微服务因心跳丢失被错误注销。当节点短时间内丢失过多客户端时,Eureka会进入此模式,保持服务注册信息,直到心跳恢复。可以通过设置`eureka.server.enable-self-preservation=false`禁用此功能,但通常不推荐。此特性增加了服务发现的稳定性和健壮性。
摘要由CSDN通过智能技术生成

 EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

紧急情况! EUREKA 可能不正确地声称实例已启动,但实际上并非如此。 续订少于阈值,因此实例不会仅仅为了安全而过期。

某时刻某个微服务不可用了,eureka不会立刻清理,依旧会对该微服务的信息进行保存

默认情况下,如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销掉该实例(默认90秒),但是当网络分区故障发生时,微服务与EurekaServer之间无法正常通信,以上行为可能变得非常危险了,因为微服务本身其实是健康的,此时本不应该注销这个微服务。EurekaServer通过自我保护模式来解决这个问题。当EurekaServer节点在短时间内丢失过多的客户端时(可能发生了网络故障)那么这个节点就会进入自我保护模式。一旦进入该模式,EurekaServer就会保护服务注册表中的信息,不在删除服务注册表中的数据(也就是不会注销任何微服务)。当网络故障恢复后,该EurekaServer节点会自动退出自我保护模式。

在自我保护模式中,EurekaServer会保护服务注册表中的信息,不在注销任何服务实例,当它收到的心跳重新恢复到阈值以上时,该EurekaServer节点就会自动退出保护模式,它的设计哲学就是宁可保留错误的服务注册信息,也不盲目注销任何可能健康的服务实例。一句话讲解:好死不如赖活着。

自我保护模式是一种对网络异常的安全保护措施,他的架构哲学是宁可同时保留所有微服务(健康的微服务和不健康的微服务都会保留)也不盲目注销掉任何健康的服务,使用自我保护模式,可以让eureka集群更加的健壮,稳定。

在springcloud中,可以使用eureka.server.enable-self-preservation=false禁用自我保护模式,但一般不推荐使用。

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心歌技术

打赏不能超过你的早餐钱!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值