企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**服务下线** 当服务进行正常关闭操作时,它会触发一个服务下线的REST请求给EurekaServer,告诉服务注册中心:"我要下线了".服务中心接收到请求之后,将该服务置为下线状态. **失效剔除** 有时我们的服务可能由于内存溢出或网络故障等原因使得服务不能正常的工作,而服务注册中心并未收到"服务下线"的请求.相对于服务提供者的"服务续约"操作,服务注册中心在启动时会创建一个定时任务,默认每隔一段时间(默认60秒)将当前清单中超时(默认为90秒)没有续约的服务剔除,这个操作被称为失效剔除. 可以通过eureka.server.eviction.interval-time-in-ms参数对其进行修改,单位是毫秒. **自我保护** 我们关停一个服务,就会在Eureka面板看到一条警告. ![](https://box.kancloud.cn/9c48ffb2ea5795c7071bd601aacb3f89_3336x358.png) 这时触发了Eureka的自我保护机制.当服务未按时进行心跳续约时,Eureka会统计服务实例最近15分钟心跳续约的比例是否低于85%.在生产环境下,因为网络延迟等原因,心跳失败实例的比例很有可能超标,但是此时就把服务剔除列表并不妥当,因为服务可能没有宕机.Eureka在这段时间内不会剔除任何服务实例,直到网络恢复正常.生产环境系这很有效,保证了大多数服务依然可用,不过也有可能获取到失败的服务实例,因此服务调用者必须做好服务的失败容错. 我们可以通过这面的配置来关停自我保护: ``` eureka.server.enable-self-preservation: false //默认是打开,不需要我们配置 ```