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

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

这是Eureka的自我保护机制,是在Server端一定时间内(默认90秒)没有收到Client发送过来的心跳包,便会从服务注册列表中剔除该服务,但是短时间内丢失大量的服务实例心跳(例如30%或者更多的注册服务实例心跳都没接收到),就会自动开启自我保护机制,从而不剔除任何注册服务。
原因:为了防止因为网络延迟或者其他网络原因导致的无心跳,从而导致大批量实际可用的健康服务被注册中心剔除,从而导致大批量服务不可用。所以它开启这个机制后,会默认依旧保留一段时间的无心跳服务在注册列表中。

禁用自我保护机制:

在要关闭自我保护机制的注册中心的yml配置文件中加入:
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY‘RE NOT. RENEWALS ARE LESSER
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY‘RE NOT. RENEWALS ARE LESSER
关闭成功,这个时候当服务不可用时,将会被马上踢出注册中心。