eureka 自我保护机制
1、自我保护模式开启的条件是:1 分钟后,若 Renews (last min) < Renews threshold,那么开启自我保护机制。
Renews threshold表示:Eureka Server 期望每分钟收到客户端实例续约的阈值。
Renews(last min)表示:Eureka Server 最后 1 分钟收到客户端实例续约的总数。
Renews threshold = 服务实例总数 *(60/续约间隔)*自我保护续约百分比阈值因子(默认0.85)。
Renews(last min) = 服务实例总数 * (60/续约间隔)
2、自我保护关闭
适用于开发阶段:假设某一个客户端(微服务)宕机了,会及时被服务端剔除掉,不会长期保留这个已宕机服务实例,影响我们开发时判断。
eureka server端
application.properties
eureka client端
application.properties
编写这两个配置的作用:
首先,server关闭自我保护机制,但如果client不做配置的话,发现尽管client宕机了,过了很久一段时间还是没有剔除client的注册实例,我本人听到的解释是心跳是双方面的,server单方面关闭自我保护机制还不管用,所以client端也要编写配置和server端配合使用,eureka.instance.lease-expiration-duration-in-seconds=10把统计心跳的周期改为10秒,10秒统计一次心跳数,eureka.instance.lease-renewal-interval-in-seconds=5是5秒发一次心跳,所以一个周期(10秒)就可以发两次心跳,那只要哪怕有一次发送心跳失败,就是1/2=50% < 85%,就会剔除服务实例。
注意:这两个配置一定要配合使用,如果不关闭自我保护机制,只是编写client端配置的话,即使client端宕机了,也不会及时剔除服务实例。
总结
以上是生活随笔为你收集整理的eureka 自我保护机制的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 在KEIL中生成bin文件的方法
- 下一篇: kernel下Documentation