Eureka核心知識點


一、Eureka特性
1.當注冊中心掛了,客戶端之間依然可以通過原有的注冊表進行調用;注冊中心重啟后,客戶端會繼續注冊進來

2.當服務提供者掛了,在關閉自我保護的情況下,注冊中心在規定時間(默認是60s)內移除客戶端;

關閉Eureka注冊中心的自我保護模式,配置如下:

eureka:
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 60000 # 單位毫秒

注意不推薦在PRD環境中使用。

3.自我保護模式
自我保護模式原理如果在15分鍾內超過85%的客戶端節點都沒有正常的心跳,那么Eureka就認為客戶端與注冊中心出現了網絡故障(比如網絡故障或頻繁的啟動關閉客戶端),Eureka Server自動進入自我保護模式。不再剔除任何服務,當網絡故障恢復后,該節點自動退出自我保護模式。

二、Eureka主要功能
1、Register:服務注冊
當Eureka客戶端向Eureka Server注冊時,它提供自身的元數據,比如IP地址、端口,運行狀況指示符URL,主頁等

2、Renew:服務續約
Eureka客戶會每隔30秒發送一次心跳來續約。 通過續約來告知Eureka Server該Eureka客戶仍然存在,沒有出現問題。 正常情況下,如果Eureka Server在90秒沒有收到Eureka客戶的續約,它會將實例從其注冊表中刪除。 建議不要更改續約間隔

3、Cancel:服務下線
Eureka客戶端在程序關閉時向Eureka服務器發送取消請求。 發送請求后,該客戶端實例信息將從服務器的實例注冊表中刪除。該下線請求不會自動完成,它需要調用以下內容:
DiscoveryManager.getInstance().shutdownComponent()

4、Fetch Registries:獲取注冊列表信息
Eureka客戶端從服務器獲取注冊表信息,並將其緩存在本地。客戶端會使用該信息查找其他服務,從而進行遠程調用。該注冊列表信息定期(每30秒鍾)更新一次。每次返回注冊列表信息可能與Eureka客戶端的緩存信息不同, Eureka客戶端自動處理。如果由於某種原因導致注冊列表信息不能及時匹配,Eureka客戶端則會重新獲取整個注冊表信息。 Eureka服務器緩存注冊列表信息,整個注冊表以及每個應用程序的信息進行了壓縮,壓縮內容和沒有壓縮的內容完全相同。Eureka客戶端和Eureka 服務器可以使用JSON / XML格式進行通訊。在默認的情況下Eureka客戶端使用壓縮JSON格式來獲取注冊列表的信息

5、Eviction 服務剔除
在默認的情況下,當Eureka客戶端連續90秒沒有向Eureka服務器發送服務續約,即心跳,Eureka服務器會將該服務實例從服務注冊列表刪除,即服務剔除


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM