Eureka註冊中心簡介

Eureka百度百科

Eureka是Netflix開發的服務發現框架,本身是一個基於REST的服務,主要用於定位運行在AWS域中的中間層服務,以達到負載均衡和中間層服務故障轉移的目的。SpringCloud將它集成在其子項目spring-cloud-netflix中,以實現SpringCloud的服務發現功能。

爲什麼要用Eureka?

在微服務架構SpringCloud 中需要對服務進行管理:比如provider服務提供者對外提供服務,需要對外暴露自己的地址;consumer調用者需要記錄服務提供者的地址。將來地址出現變更,還需要及時更新。這在服務較少的時候並不覺得有什麼,但是在現在日益複雜的互聯網環境,一個項目肯定會拆分出十幾,甚至數十個微服務。此時如果還人爲管理地址,不僅開發困難,將來測試、發佈上線都會非常麻煩。

Eureka做什麼?

Eureka就好比是滴滴,負責管理、記錄服務提供者的信息。服務調用者無需自己尋找服務,而是把自己的需求告訴Eureka,然後Eureka會把符合你需求的服務告訴你。

同時,服務提供方與Eureka之間通過“心跳”機制進行監控,當某個服務提供方出現問題,Eureka自然會把它從服務列表中剔除。

這就實現了服務的自動註冊、發現、狀態監控。

原理圖

在這裏插入圖片描述

  • Eureka:就是服務註冊中心(可以是一個集羣),對外暴露自己的地址
  • 提供者:啓動後向Eureka註冊自己信息(地址,提供什麼服務)
  • 消費者:向Eureka訂閱服務,Eureka會將對應服務的所有提供者地址列表發送給消費者,並且定期更新
  • 心跳(續約):提供者定期通過http方式向Eureka刷新自己的狀態

高可用的Eureka Server

Eureka Server即服務的註冊中心,事實上EurekaServer也可以是一個集羣,形成高可用的Eureka中心。

多個Eureka Server之間也會互相註冊爲服務,當服務提供者註冊到Eureka Server集羣中的某個節點時,該節點會把服務的信息同步給集羣中的每個節點,從而實現數據同步。因此,無論客戶端訪問到Eureka Server集羣中的任意一個節點,都可以獲取到完整的服務列表信息。

就是說所謂的高可用註冊中心,其實就是把EurekaServer自己也作爲一個服務進行註冊,這樣多個EurekaServer之間就能互相發現對方,從而形成集羣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章