2020年面试题-----Eureka自我保护机制是什么?

Eureka自我保护机制出现的背景:

         Eureka的自我保护机制是为了防止误杀服务。当注册中心发生故障,服务不能够正常的续约,但是服务运行正常,默认情况下,Eureka会将超过90s未续约的服务进行移除。这样做明显不合理,所以Eureka提供了一个自我保护机制。

Eureka自我保护机制是什么?

  1. Eureka在运行期间会统计心跳失败的比例,在15分钟内是否低于85%,如果出现了低于的情况,Eureka Server会将当前的实例注册信息保护起来,同时提示一个警告,表明进入了保护模式
  2. 一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据。也就是不会注销任何微服务。
  3. 我们在开发测试阶段,需要频繁地重启发布,如果触发了保护机制,则旧的服务实例没有被删除,这时请求有可能跑到旧的实例中,而该实例已经关闭了,这就导致请求错误,影响开发测试。所以,在开发测试阶段,我们可以把自我保护模式关闭,只需在eureka server配置文件中加上如下配置即可:
 eureka.server.enable-self-preservation=false

      4. 自我保护模式可以让集群更加健壮。故障恢复时,自动退出自我保护模式。

      5. 生产环境,不会频繁重启,所以,一定要把自我保护机制打开,否则网络一旦中断,就无法恢复。

Eureka服务端与客户端如何沟通?

你可能感兴趣的:(面试,网络,java,分布式,eureka,zookeeper)