springcloud(二):註冊中心Eureka
Eureka是Netflix開源的一款提供服務註冊和發現的產品,它提供了完整的Service Registry和Service Discovery實現。也是springcloud體系中最重要最核心的元件之一。願意瞭解原始碼的朋友直接求求交流分享技術:二一四七七七五六三三
服務中心
服務中心又稱註冊中心,管理各種服務功能包括服務的註冊、發現、熔斷、負載、降級等,比如dubbo admin後臺的各種功能。
有了服務中心呼叫關係會有什麼變化,畫幾個簡圖來幫忙理解
專案A呼叫專案B
正常呼叫專案A請求專案B
有了服務中心之後,任何一個服務都不能直接去掉用,都需要透過服務中心來呼叫
專案A呼叫專案B,專案B在呼叫專案C
這時候呼叫的步驟就會為兩步:第一步,專案A首先從服務中心請求專案B伺服器,然後專案B在從服務中心請求專案C服務。
上面的專案只是兩三個相互之間的簡單呼叫,但是如果專案超過20個30個呢,在15年底的時候我司分散式的專案就達到了二十幾個,畫一張圖來描述幾十個專案之間的相互呼叫關係全是線條,任何其中的一個專案改動,就會牽連好幾個專案跟著重啟,巨麻煩而且容易出錯。透過服務中心來獲取服務你不需要關注你呼叫的專案IP地址,由幾臺伺服器組成,每次直接去服務中心獲取可以使用的服務去呼叫既可。
由於各種服務都註冊到了服務中心,就有了去做很多高階功能條件。比如幾臺服務提供相同服務來做均衡負載;監控伺服器呼叫成功率來做熔斷,移除服務列表中的故障點;監控服務呼叫時間來對不同的伺服器設定不同的權重等等。
Eureka
按照官方介紹:Eureka 是一個基於 REST 的服務,主要在 AWS 雲中使用, 定位服務來進行中間層伺服器的負載均衡和故障轉移。
Spring Cloud 封裝了 Netflix 公司開發的 Eureka 模組來實現服務註冊和發現。Eureka 採用了 C-S 的設計架構。Eureka Server 作為服務註冊功能的伺服器,它是服務註冊中心。而系統中的其他微服務,使用 Eureka 的客戶端連線到 Eureka Server,並維持心跳連線。這樣系統的維護人員就可以透過 Eureka Server 來監控系統中各個微服務是否正常執行。Spring Cloud 的一些其他模組(比如Zuul)就可以透過 Eureka Server 來發現系統中的其他微服務,並執行相關的邏輯。
Eureka由兩個元件組成:Eureka伺服器和Eureka客戶端。Eureka伺服器用作服務註冊伺服器。Eureka客戶端是一個java客戶端,用來簡化與伺服器的互動、作為輪詢負載均衡器,並提供服務的故障切換支援。Netflix在其生產環境中使用的是另外的客戶端,它提供基於流量、資源利用率以及出錯狀態的加權負載均衡。
用一張圖來認識一下:
上圖簡要描述了Eureka的基本架構,由3個角色組成:
1、Eureka Server 提供服務註冊和發現
2、Service Provider 服務提供方 將自身服務註冊到Eureka,從而使服務消費方能夠找到
3、Service Consumer 服務消費方 從Eureka獲取註冊服務列表,從而能夠消費服務
技術架構圖如下:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31539957/viewspace-2221737/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 跟我學SpringCloud | 第二篇:註冊中心EurekaSpringGCCloud
- SpringCloud入門(三)Eureka 註冊中心SpringGCCloud
- SpringCloud——Eureka-微服務的註冊中心SpringGCCloud微服務
- Eureka註冊中心
- [SpringCloud教程]3. Eureka服務註冊中心整合SpringGCCloud
- SpringCloud實踐(三) 高可用的Eureka註冊中心SpringGCCloud
- Spring Cloud 系列(二)Eureka 高可用註冊中心SpringCloud
- 普通springcloud eureka 和 spring cloud Alibaba nacos 註冊中心SpringGCCloud
- Spring Cloud— 五、註冊中心EurekaSpringCloud
- 每天學點SpringCloud(二):服務註冊與發現EurekaSpringGCCloud
- springcloud-註冊中心和配置中心SpringGCCloud
- 【SpringCloud】(五):服務註冊到Eureka ServerSpringGCCloudServer
- SpringCloud學習系列之一 ----- 搭建一個高可用的註冊中心(Eureka)SpringGCCloud
- SpringCloud學習之路(二)- 服務的註冊與發現EurekaSpringGCCloud
- SpringCloud整合Consul註冊中心SpringGCCloud
- SpringCloud用zookeeper做註冊中心SpringGCCloud
- SpringCloud註冊中心高可用搭建SpringGCCloud
- SpringCloud(3)---Eureka服務註冊與發現SpringGCCloud
- SpringCloud服務的註冊與發現(Eureka)SpringGCCloud
- 小白的學習筆記——eureka註冊中心筆記
- 註冊中心 Eureka 原始碼解析 —— 應用例項註冊發現(一)之註冊原始碼
- SpringBoot3.1.5對應新版本SpringCloud開發(1)-Eureka註冊中心Spring BootGCCloud
- SpringCloud-微服務的註冊與發現EurekaSpringGCCloud微服務
- Fescar 釋出 0.3.0 版本, 支援 Eureka 註冊中心
- 微服務註冊中心 Nacos 比 Eureka的優勢微服務
- SpringCloud之使用Zookeeper作為註冊中心SpringGCCloud
- SpringCloud入門(五)Nacos註冊中心(上)SpringGCCloud
- SpringCloud入門(六)Nacos註冊中心(下)SpringGCCloud
- 微服務之Eureka(二)服務中心互相註冊-Ribbon的結合使用微服務
- 微服務架構 | 3.1 Netflix Eureka 註冊中心微服務架構
- 手把手教你將Eureka升級Nacos註冊中心
- 註冊中心 Eureka 原始碼解析 —— 應用例項註冊發現(三)之下線原始碼
- SpringCloud-eureka服務註冊發現以及消費流程SpringGCCloud
- 註冊中心 Eureka 原始碼解析 —— 應用例項註冊發現(五)之過期原始碼
- 微服務(三) Eureka註冊中心和Ribbon負載均衡微服務負載
- SpringCloud元件 & 原始碼剖析:Eureka服務註冊方式流程全面分析SpringGCCloud元件原始碼
- SpringCloud學習筆記:服務註冊與發現Eureka(2)SpringGCCloud筆記
- SpringCloud-Alibaba之Nacos服務註冊中心SpringGCCloud