为什么会产生Eureka自我保护机制?
为了防止EukekaClient可以正常运行,但是与EurekaServer网络不通的情况下,EurekaServer不会立刻将EurekaClient服务删除
如何理解自我保护机制?
默认的情况下 如果Eureka在特定的时间内(默认为90s)没有接收到某个微服务实例的心跳,EurekaServer将会注销掉这个实例 但是当网络分区发生故障时发生卡顿等现象时 微服务与EurekaServer之间无法正常通信 以上行为可能变得非常危险了 因为微服务本身是可用的 此时不应该注销掉这个微服务 Eureka通过自我保护模式 来解决这个问题 当EurekaServer节点在短时间内丢失过多客户端时 那么这个节点就会进入自我保护模式 这个设计理念采用的是CAP理论中的AP 也就是可用性和分区容错性