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