Eureka詳解
阿新 • • 發佈:2018-12-09
1.基礎架構
Eureka架構中的三個核心角色:
- 服務註冊中心:
Eureka的服務端應用,提供服務註冊和發現功能 - 服務提供者:
提供服務的應用,可以是SpringBoot應用,也可以是其它任意技術實現,只要對外提供的是Rest風格服務即可。 - 服務消費者:
消費應用從註冊中心獲取服務列表,從而得知每個服務方的資訊,知道去哪裡呼叫服務方。
2.搭建高可用的Eureka Server
2.1 介紹:
Eureka Server即服務的註冊中心,EurekaServer可以是一個叢集,形成高可用的Eureka中心。
2.2 服務同步:
多個Eureka Server之間也會互相註冊為服務,當服務提供者註冊到Eureka Server叢集中的某個節點時,該節點會把服務的資訊同步給叢集中的每個節點,從而實現資料同步。
因此,無論客戶端訪問到Eureka Server叢集中的任意一個節點,都可以獲取到完整的服務列表資訊。
【解釋】只要Eureka叢集搭建成功,你將服務提供方或者服務消費方註冊到任意的
eureka節點中,叢集中都會互相共享服務提供方資訊和服務消費方資訊
2.3 搭建高可用的EurekaServer
在配置好Eureka專案的基礎上(搭建Eureka專案詳解),我們假設要搭建兩條EurekaServer的叢集,埠分別為:10086和10087
2.3.1 修改配置
修改application.yml檔案的register-with-eureka=false和fetch-registry=false兩個配置,都改為true,或者直接刪掉因為預設配置是true
2.3.2 新增一個啟動器
- 選擇Edit
- "+"選擇SpringBoot
- 配置 main class,選擇EurekaApplication
- 先啟動一個,埠10086,然後eureka服務埠是10087
- 再啟動另外一臺,使其配置恰好相反
- 訪問一個埠,效果:
至此,Eureka叢集搭建完成,接下來我們就可以各種擴充套件了 - 我要再啟動一下服務呼叫端和服務消費端
這時不論我們訪問哪個埠,都會檢視到三個註冊資訊,因為eureka會將服務端的資料會自動同步