默认情况下,EurekaClient会定时向EurekaServer端发送心跳,如果EurekaServer在一定时间内没有收到EurekaClient发送的心跳,便会把该实例从注册服务列表中剔除(默认是90秒),但是在短时间内丢失大量的实例心跳,这时候EurekaServer会开启自我保护机制,Eureka不会踢出该服务。
为了防止EurekaClient是可以正常访问,但是与EurekaServer网络不通的情况下,EurekaServer不会将EurekaClient从服务上剔除(防止误删!)
在什么环境下禁止自我保护机制?
本地环境下,建议禁止自我保护机制
什么情况下支持自我保护机制?
生产环境建议开启!
那么服务真的宕机呢?
本地调用应该重试机制,保证接口网络延迟幂等性(防止用户重复提交),
服务降级功能(返回url提示给客户端)。