eureka 自我保护机制
1、自我保護(hù)模式開啟的條件是:1 分鐘后,若 Renews (last min) < Renews threshold,那么開啟自我保護(hù)機(jī)制。
Renews threshold表示:Eureka Server 期望每分鐘收到客戶端實(shí)例續(xù)約的閾值。
Renews(last min)表示:Eureka Server 最后 1 分鐘收到客戶端實(shí)例續(xù)約的總數(shù)。
Renews threshold = 服務(wù)實(shí)例總數(shù) *(60/續(xù)約間隔)*自我保護(hù)續(xù)約百分比閾值因子(默認(rèn)0.85)。
Renews(last min) = 服務(wù)實(shí)例總數(shù) * (60/續(xù)約間隔)
2、自我保護(hù)關(guān)閉
適用于開發(fā)階段:假設(shè)某一個(gè)客戶端(微服務(wù))宕機(jī)了,會(huì)及時(shí)被服務(wù)端剔除掉,不會(huì)長期保留這個(gè)已宕機(jī)服務(wù)實(shí)例,影響我們開發(fā)時(shí)判斷。
eureka server端
application.properties
eureka client端
application.properties
?
編寫這兩個(gè)配置的作用:
首先,server關(guān)閉自我保護(hù)機(jī)制,但如果client不做配置的話,發(fā)現(xiàn)盡管client宕機(jī)了,過了很久一段時(shí)間還是沒有剔除client的注冊(cè)實(shí)例,我本人聽到的解釋是心跳是雙方面的,server單方面關(guān)閉自我保護(hù)機(jī)制還不管用,所以client端也要編寫配置和server端配合使用,eureka.instance.lease-expiration-duration-in-seconds=10把統(tǒng)計(jì)心跳的周期改為10秒,10秒統(tǒng)計(jì)一次心跳數(shù),eureka.instance.lease-renewal-interval-in-seconds=5是5秒發(fā)一次心跳,所以一個(gè)周期(10秒)就可以發(fā)兩次心跳,那只要哪怕有一次發(fā)送心跳失敗,就是1/2=50% < 85%,就會(huì)剔除服務(wù)實(shí)例。
注意:這兩個(gè)配置一定要配合使用,如果不關(guān)閉自我保護(hù)機(jī)制,只是編寫client端配置的話,即使client端宕機(jī)了,也不會(huì)及時(shí)剔除服務(wù)實(shí)例。
總結(jié)
以上是生活随笔為你收集整理的eureka 自我保护机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在KEIL中生成bin文件的方法
- 下一篇: kernel下Documentation