Eureka源碼解析系列文章彙總

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

EurekaServer

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

它維護了一張服務註冊表,在這個服務註冊表中包含了全部的客戶端信息架構

當服務端啓動時會作這麼幾個事情:負載均衡

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

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

客戶端是與應用程序綁定到一塊兒的,某種意識上來講它是應用實例在註冊中心的代言人cdn

當客戶端啓動時會作這麼幾個事情:blog

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

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

服務分區

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

爲何會出現分區這個概念呢?當一個項目的用戶量比較大時,通常會在多個城市的多個機房分別部署多套服務,爲了不網絡延時,咱們就但願一個條件容許的狀況下一個服務優先調用同機房的服務。爲了實現這個功能Ribbon還專門提供了一種負載均衡算法get

自我保護模式

爲了不網絡分區故障的解決方案:Eureka自我保護模式源碼解析1

相關文章
相關標籤/搜索