eureka的自我保护机制?
1.Eureka在运行期间会统计心跳续约的比例,在15分钟内是否低于85%,如果出现低于的情况,Eureka Server会将当前的实例注册信息保护起来,同时提高一个警告,表明进入了保护模式。
2.一旦进入保护模式,Eureka Server将会尝试保护其他服务注册表中的信息,不在删除服务表中的数据。也就是不会注销任何微服务。
3.我们在开发测试阶段,需要频繁地重启发布,如果触发了保护机制,则旧的服务实例没有被删除,这时请求有可能跑到旧的实例中,而该示例已经关闭了,这就是导致错误,影响开发测试。所以,在开发测试节段,我们可以把自我保护模式关闭,只需要在Eureka server配置文件中加入如下配置即可:
Eureka.server.enable-self-preservation=false
4.自我保护模式可以让集群更加健壮。故障恢复时,自动推迟自我保护模式。
5.生产环境,不会频繁启动,所以一定要把自我保护机制打开,否者网络一旦中断,就无法回复。