当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
经济衰退即将来临前CIO控制成本的七种方法
力扣:279.完全平方数
力扣:322. 零钱兑换
力扣:518. 零钱兑换 II
LeetCode952三部曲之三:再次优化(122ms -> 96ms,超51% -> 超91%)
金仓数据库 KingbaseGIS 使用手册(6.2. 管理函数)
【C语言】指针和数组的深入理解(第四期)
MQTT X Web:在线的 MQTT 5.0 客户端工具
70. 爬楼梯进阶版
【集训DAY3】挖金矿【二分答案】
深圳堡垒机厂家有哪些?重点推荐哪家?
68. qt quick-qml multi-level folding drop-down navigation menu supports dynamic add/unload, support qml/widget loading, etc.
数据库优化 | 干货
CMake使用记录
781. 森林中的兔子
Comprehensive analysis of FPGA basics
harbor配置远程仓库
Filament - Material basic graphics drawing
技术盛宴!华云数据携六大议题亮相OpenInfra Days China
Live Preview | ICML 2022 11 first-author scholars share online neural network, graph learning and other cutting-edge research