1. 程式人生 > >Eureka詳解

Eureka詳解

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
修改application.yml檔案

2.3.2 新增一個啟動器
  • 選擇Edit
    選擇Edit
  • "+"選擇SpringBoot
    在這裡插入圖片描述
  • 配置 main class,選擇EurekaApplication
    在這裡插入圖片描述
  • 先啟動一個,埠10086,然後eureka服務埠是10087
    在這裡插入圖片描述
  • 再啟動另外一臺,使其配置恰好相反
  • 訪問一個埠,效果:
    在這裡插入圖片描述
    至此,Eureka叢集搭建完成,接下來我們就可以各種擴充套件了
  • 我要再啟動一下服務呼叫端和服務消費端
    這時不論我們訪問哪個埠,都會檢視到三個註冊資訊,因為eureka會將服務端的資料會自動同步
    在這裡插入圖片描述