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