在开发中我们因为经常关停服务所以会很容易触发eureka的自我保护机制,当服务未按时进行心跳续约时,Eureka会统计服务实例最近15分钟心跳续约的比例是否低于了85%。在生产环境下,因为网络延迟等原因,心跳失败实例的比例很有可能超标,但是此时就把服务剔除列表并不妥当,因为服务可能没有宕机。Eureka在这段时间内不会剔除任何服务实例,直到网络恢复正常。在生产环境中这个模式很好,因为不会造成网络原因而将无问题的服务删除。
但在开发环境中因为经常关停服务而注册中心又不会删除关停的实例,就会影响到开发调试时的进度及问题,所以我们先设置关闭,在上线时再打开。
eureka: server: enable-self-preservation: false #关闭自我保护模式(缺省为打开)