当前位置:网站首页>Eureka自我保护
Eureka自我保护
2022-08-09 22:46:00 【一个风轻云淡】
概述
保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。一旦进入保护模式,
Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据,也就是不会注销任何微服务。
如果在Eureka Server的首页看到以下这段提示,则说明Eureka进入了保护模式:
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自我保护机制?
为了防止EurekaClient可以正常运行,但是 与 EurekaServer网络不通情况下,EurekaServer不会立刻将EurekaClient服务剔除
什么是自我保护模式?
默认情况下,如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销该实例(默认90秒)。但是当网络分区故障发生(延时、卡顿、拥挤)时,微服务与EurekaServer之间无法正常通信,以上行为可能变得非常危险了——因为微服务本身其实是健康的,此时本不应该注销这个微服务。Eureka通过“自我保护模式”来解决这个问题——当EurekaServer节点在短时间内丢失过多客户端时(可能发生了网络分区故障),那么这个节点就会进入自我保护模式。

配置代码修改说明
出厂默认,自我保护机制是开启的
eureka.server.enable-self-preservation=true使用eureka.server.enable-self-preservation = false 可以禁用自我保护模式关闭效果:
server:
#关闭自我保护机制,保证不可用服务被及时踢除
enable-self-preservation: false
eviction-interval-timer-in-ms: 2000
instance:
#Eureka客户端向服务端发送心跳的时间间隔,单位为秒(默认是30秒)
lease-renewal-interval-in-seconds: 1
#Eureka服务端在收到最后一次心跳后等待时间上限,单位为秒(默认是90秒),超时将剔除服务
lease-expiration-duration-in-seconds: 2边栏推荐
猜你喜欢
随机推荐
力扣:279.完全平方数
【哲理】事教人
CAD 绘制圆角处理
什么是服务治理
tiup cluster upgrade
【SSL集训DAY2】Sequence【数学】
781. 森林中的兔子
【SSL集训DAY2】Sort【树状数组】
国内十大活跃报表 BI 产品深度对比及点评
70. 爬楼梯进阶版
CMake使用记录
matplotlib散点图自定义坐标轴(文字坐标轴)
Sqlserver限制账户在哪些ip下才可以访问数据库
你的手机曾经被监控过吗?
用哈希简单封装unordered_map和unordered_set
【集训DAY5】快速排序【模拟】【数学】
ALV报表总结2022.8.9
2022-08-09 mysql/stonedb-subquery performance improvement-introduction
Sqlserver restricts the ip under which accounts can access the database
多商户商城系统功能拆解24讲-平台端分销会员









