eureka Server Self Preservation Mode(自我保护模式) 说明

3 篇文章 0 订阅
1 篇文章 0 订阅

1.服务的正常退出流程。
eureka要求当client退出的时候,它显示的调用"注销"接口. 进行优雅退出.

2.self preservation mode是一种保护/容错机制
它主要是用来避免由于网络抖动或者故障带来的连接失败,看下面2种情况。
2.1 网络故障,或者若网,导致server没有收到client的心跳信息,这时候其实client服务是活着的
2.2 及时client和server直接断开了,但是服务A已经跟服务B建立了连接

3.看几个重要的配置参数
3.1 eureka.instance.lease-renewal-interval-in-seconds=30
    这个标识多久发送一次心跳  
3.2 eureka.instance.lease-expiration-duration-in-seconds=90
    这个标识server过多久还没有收到来自客户端的心跳,就认为client已经挂了,把他踢掉的时间

3.3 eureka.server.eviction-interval-timer-in-ms=5000
    每隔多久进行一次检查,看是不是有挂了的client[关联一个定时器]
3.4 eureka.server.renewal-threshold-update-interval-ms=6000
    每隔多久计算一次期望的每分钟收到的心跳的次数[关联一个定时器]
3.5 eureka.server.renewal-percent-threshold=0.85
    计算每分钟最小心跳次数的threshold, 
3.6 还有一个定时器,每分钟执行一次,计算上一分钟实际收到的心跳次数.
    
4.案例说明
有2个服务,A 和 B, 假设配置的参数值就是上面的值
4.1 任何服务连续3次发生心跳失败(超过了90秒),就会被踢掉  
4.2 正常情况,1分钟应收到的心跳次数是2(每分钟的次数)*2(服务的数量),最小次数是 2(每分钟的次数)*2(服务的数量)*0.85=3 
4.3 每分钟计算一次最小的心跳次数(对应上面的3.4)
4.4 若实际的心跳次数小于最小的心跳次数,启动自我保护模式

 

参考:https://github.com/Netflix/eureka/wiki/Server-Self-Preservation-Mode

欢迎关注微信公众号:  假程序员

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值