Spring Cloud-Eureka的自我保护模式
当有一个新的Eureka Server出现时, 它尝试从相邻的Peer节点获取所有服务实例注册表信息, 如果从相邻的Peer获取注册表信息故障, Eureka Server会尝试其他的Peer节点, 如果Eureka Server能够成功的获取到注册表信息, 则根据配置信息设置服务续约的阈值. 在任何时间, 如果Eureka Server接收到的服务续约低于为该值配置的百分比(默认为15分钟内低于85%), 则服务开启自我保护模式, 即不再剔除注册列表的信息.
这样做的好处在于, 如果是Eureka Server自身网络的问题而导致Eureka Client无法续约, Eureka Client的注册列表信息不会被踢除, 也就是Eureka Client还可以被其他服务消费.
默认情况下, Eureka Server的自我保护模式是开启的, 如果需要关闭, 则在Eureka Server的配置文件中添加如下代码:
eureka.server.enable-self-preservation: false