­

Eureka 註冊中心自我保理解

  • 2019 年 11 月 1 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/weixin_44580977/article/details/99105893

我的理解,就是服務長時間沒有給註冊中心發送心跳,註冊中心不會直接在註冊表裡剔除它,而是給他機會繼續等他,但不會同步到其他節點上(註冊中心組成的集群)。 官方解釋的如下: 自我保護模式正是一種針對網路異常波動的安全保護措施,使用自我保護模式能使Eureka集群更加的健壯、穩定的運行。

自我保護機制的工作機制是如果在15分鐘內超過85%的客戶端節點都沒有正常的心跳,那麼Eureka就認為客戶端與註冊中心出現了網路故障,Eureka Server自動進入自我保護機制,此時會出現以下幾種情況:

1、Eureka Server不再從註冊列表中移除因為長時間沒收到心跳而應該過期的服務。

2、Eureka Server仍然能夠接受新服務的註冊和查詢請求,但是不會被同步到其它節點上,保證當前節點依然可用。

3、當網路穩定時,當前Eureka Server新的註冊資訊會被同步到其它節點中。

因此Eureka Server可以很好的應對因網路故障導致部分節點失聯的情況,而不會像ZK那樣如果有一半不可用的情況會導致整個集群不可用而變成癱瘓。

自我保護開關

Eureka自我保護機制,通過配置 eureka.server.enable-self-preservation來true打開/false禁用自我保護機制,默認打開狀態,建議生產環境打開此配置。