【Spring Cloud】Eureka實現微服務釋出與呼叫
【學習背景】
在此之前,轉載了一篇關於Spring Cloud的概述博文,《大話Spring Cloud》,其中關於Spring Cloud整個框架的結構和內容都總結的很詳細。本篇部落格將自己總結下微服務架構下服務管理中的註冊中心Eureka。
【學習內容】
- 關於Eureka
Eureka提供基於REST的服務,在叢集中主要用於服務管理。Eureka 提供了基於 Java語言的客戶端元件,客戶端元件實現了負載均衡的功能,為業務元件的叢集部署創造了條件。使用該框架, 可以將業務元件註冊到 Eureka 容器中, 進行叢集部署, Eureka 提供的服務呼叫功能, 可以釋出容器中的服務並進行呼叫。
- Eureka架構
一個簡單的 Eureka 叢集, 需要有一個 Eureka 伺服器、 若干個服務提供者。 我們可以將業務元件註冊到 Eureka 伺服器中, 其他客戶端元件可以向伺服器獲取服務並且進行遠端呼叫。架構圖如下:
上圖中,有兩個伺服器,伺服器支援叢集部署,每個伺服器也可以作為對方伺服器的客戶端進行相互註冊和複製。上圖中包含三個Eureka客戶端,兩個用於釋出服務,一個用於服務呼叫,不論是伺服器還是客戶端,都可以部署多個例項。
- 伺服器端
對於註冊到伺服器端的服務元件, Eureka 伺服器並沒有提供後臺的儲存, 這些註冊的服務例項被儲存在記憶體的註冊中心, 它們通過心跳來保持其最新狀態, 這些操作都可以在記憶體中完成。 客戶端存在著相同的機制, 同樣在記憶體中儲存了登錄檔資訊, 這樣的機制提升了Eureka 元件的效能, 每次服務的請求都不必經過伺服器端的註冊中心。
- 服務提供者
作為 Eureka 客戶端存在的服務提供者, 主要進行以下工作: 第一、 向伺服器註冊服務;第二、 傳送心跳給伺服器; 第三、 向伺服器端獲取註冊列表。 當客戶端註冊到伺服器時, 它將會提供一些關於它自己的資訊給伺服器端, 例如自己的主機、 埠、 健康檢測連線等。
- 服務呼叫者
對於釋出到 Eureka 伺服器的服務, 使用呼叫者可對其進行服務查詢與呼叫, 服務呼叫者也是作為客戶端存在, 但其職責主要是發現與呼叫服務。 在實際情況中, 有可能出現本身既是服務提供者, 也是服務呼叫者的情況, 例如傳統的企業應用三層架構中, 服務層會呼叫資料訪問層的介面進行資料操作, 它本身也會提供服務給控制層使用。
【學習demo】
在學習過程中,自己也搭建了相關例項,基於Spring Boot 2.1版本,Spring Cloud 版本為:Greenwich.RC1,不同的版本,對應的依賴可能不同,所以在搭建的過程中,版本資訊還是值得注意一下。
訪問地址:https://github.com/huzhiting/spring-cloud
在後面的學習中也會繼續更新例項程式碼。
【學習總結】
Spring Cloud 是現在很多公司首選的微服務架構之一,而我們公司只是單純地用Spring Boot做了幾個簡單地單獨應用,所以趁著假期,自己學習一下Spring Cloud相關知識,增加些知識儲備。
相關文章
- 二、Spring Cloud 之旅 -- Eureka 微服務的釋出與呼叫SpringCloud微服務
- Eureka實現微服務的呼叫微服務
- Eureka-實現微服務的呼叫微服務
- Spring Cloud微服務-基於Eureka的feign呼叫(1)SpringCloud微服務
- Spring Cloud Eureka 實現服務註冊與發現SpringCloud
- Spring Cloud+ Eureka微服務基礎專案搭建(已實現呼叫增刪改查微服務,持續更新)SpringCloud微服務
- 微服務~Eureka實現的服務註冊與發現及服務之間的呼叫微服務
- Spring Cloud實戰系列(一) - 服務註冊與發現EurekaSpringCloud
- Spring Cloud服務發現元件EurekaSpringCloud元件
- spring cloud微服務架構-Eureka保護機制SpringCloud微服務架構
- (十四)spring cloud微服務分散式雲架構-服務註冊與發現(Eureka、Consul)SpringCloud微服務分散式架構
- Spring Cloud Eureka 實現安全控制SpringCloud
- Spring Cloud 系列(一)Eureka 服務註冊與發現SpringCloud
- Spring Cloud(一) 服務的註冊與發現(Eureka)SpringCloud
- Eureka的微服務之間呼叫微服務
- spring cloud 微服務實戰SpringCloud微服務
- Spring Cloud 入門教程 – Eureka服務註冊與發現SpringCloud
- Spring Cloud 入門教程 - Eureka服務註冊與發現SpringCloud
- Spring Cloud之微服務之間相互呼叫、如何讓一個微服務呼叫另外一個微服務SpringCloud微服務
- Spring Cloud Eureka 實現高可用服務發現註冊中心SpringCloud
- 服務治理: Spring Cloud EurekaSpringCloud
- [譯] JWT 與 Spring Cloud 微服務JWTSpringCloud微服務
- Eureka微服務之間呼叫-feign微服務
- (十七)spring cloud微服務分散式雲架構-eureka 基礎SpringCloud微服務分散式架構
- Spring Cloud分散式微服務雲架構原始碼分析 — EurekaSpringCloud分散式微服務架構原始碼
- 初識Spring Cloud Eureka(三)(Eureka客戶端之間 服務的相互呼叫)SpringCloud客戶端
- Spring cloud(2)-服務發現(Eureka,Consul)SpringCloud
- Spring Cloud微服務架構—服務註冊與發現SpringCloud微服務架構
- 深度解析spring cloud分散式微服務的實現SpringCloud分散式微服務
- spring cloud微服務分散式雲架構(一)-spring cloud 服務註冊與發現SpringCloud微服務分散式架構
- eureka實現服務之間的呼叫
- Spring Cloud Alibaba微服務實戰SpringCloud微服務
- 基於Spring Boot和Spring Cloud實現微服務架構Spring BootCloud微服務架構
- Spring Cloud 微服務專案實現總架構一SpringCloud微服務架構
- 微服務之Eureka服務發現微服務
- 學習Spring Cloud與微服務之路三SpringCloud微服務
- Spring Cloud構建微服務架構—註冊與發現SpringCloud微服務架構
- 微服務註冊與發現及如何使用Eureka微服務