Eureka源碼解析系列文章匯總


先看一張圖
0file
這個圖是Eureka官方提供的架構圖,整張圖基本上把整個Eureka的核心功能給列出來了,當你要閱讀Eureka的源碼時可以參考着這個圖和下方這些文章

EurekaServer

EurekaServer就是我們常說的服務端
Eureka服務端的啟動可參考這篇文章EurekaServer自動裝配及啟動流程解析

它維護了一張服務注冊表,在這個服務注冊表中包含了所有的客戶端信息

當服務端啟動時會做這么幾個事情:

  1. 向集群中的其他服務端發起數據同步請求:Eureka應用注冊與集群數據同步源碼解析
  2. 開啟清理過期租約的線程:Eureka客戶端續約及服務端過期租約清理源碼解析
EurekaClient

EurekaClient就是我們常說的客戶端
Eureka客戶端的啟動可參考這篇文章:EurekaClient自動裝配及啟動流程解析

客戶端是與應用程序綁定到一起的,某種意識上來說它是應用實例在注冊中心的代言人

當客戶端啟動時會做這么幾個事情:

  1. 向服務端發起注冊請求:Eureka應用注冊與集群數據同步源碼解析
  2. 開啟續租的線程:Eureka客戶端續約及服務端過期租約清理源碼解析
  3. 先全量獲取一次可用服務列表且開啟一個定時增量獲取的線程:Eureka獲取服務列表源碼解析

當服務下線時會向服務端發送下線通知:Eureka服務下線源碼解析

服務分區

在圖中三個EurekaServer之間是用線隔開的,在EurekaServer上面的三個us-east-xx其實就代表着三個服務端所在的三個分區。

為什么會出現分區這個概念呢?
當一個項目的用戶量比較大時,一般會在多個城市的多個機房分別部署多套服務,為了避免網絡延時,我們就希望一個條件允許的情況下一個服務優先調用同機房的服務。為了實現這個功能Ribbon還專門提供了一種負載均衡算法

自我保護模式

為了避免網絡分區故障的解決方案:Eureka自我保護模式源碼解析

原文地址


免責聲明!

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



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