1. 程式人生 > 實用技巧 >SpringCloud(3) - Eureka服務註冊與發現

SpringCloud(3) - Eureka服務註冊與發現

一、什麼是Eureka?

Eureka又稱服務中心,管理各種服務功能包括服務的註冊、發現、熔斷、負載、降級等。

● Netflix在設計Eureka時,遵循的就是AP原則

●Eureka是Netflix的一個子模組,也是核心模組之一。Eureka是一個基於Rest的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移,服務註冊與發的先對於微服務來說非常重要,有了服務發現與註冊,只需要使用服務的識別符號,就可以訪問到服務,而不需要修改服務呼叫的配置檔案了,功能類似與Dubbo的註冊中心,比如Zookeeper

二、Eureka原理

1)Eureka的基礎結構

● Spring Cloud 封裝了 Netflix 公司開發的 Eureka 模組來實現服務註冊和發現

●Eureka 採用了 C-S 的設計架構。Eureka Server 作為服務註冊功能的伺服器,它是服務註冊中心

●而系統中的其他微服務,使用 Eureka 的客戶端連線到 Eureka Server,並維持心跳連線。這樣系統的維護人員就可以通過 Eureka Server 來監控系統中各個微服務是否正常執行。Spring Cloud 的一些其他模組(比如Zuul)就可以通過 Eureka Server 來發現系統中的其他微服務,並執行相關的邏輯

●和Dubbo架構對比:

● Eureka 包含兩個元件:Eureka Server 和 Eureka Client

① Eureka Server 提供服務註冊服務,各個節點啟動後,會在EurekaServer中進行註冊,這樣Eureka Server中的服務登錄檔中將會儲存所有可用服務節點的資訊,服務節點的資訊可以在介面中直觀的看到。

② Eureka Client 是一個 Java 客戶端,用於簡化與 Eureka Server 的互動,客戶端同時也具備一個內建的,使用輪詢負載演算法的負載均衡器。在應用啟動後,將會向EurekaServer傳送心跳(預設週期為30秒)。如果Eureka Server在多個心跳週期內沒有接收到某個節點的心跳,EurekaServer將會從服務登錄檔中把這個服務節點移除掉(預設週期90秒)

2)三大角色

● Eureka Server:提供服務的註冊與發現

● Service Provider:將自身服務註冊到Eureka中,從而使消費方能夠獲取到

● Service Consumer:服務消費方從Eureka中獲取註冊服務列表,從而找到消費服務

三、建立 Eureka 服務端

接著上一篇 REST 學習