b2b2c社交電商-註冊中心Eureka

b2b2c社交電商源碼請加企鵝求求:一零三八七七四六二六。Eureka是Netflix開源的一款提供服務註冊和發現的產品,它提供了完整的Service Registry和Service Discovery實現。也是springcloud體系中最重要最核心的組件之一。java

背景介紹spring

服務中心服務器

服務中心又稱註冊中心,管理各類服務功能包括服務的註冊、發現、熔斷、負載、降級等,好比dubbo admin後臺的各類功能。架構

有了服務中心調用關係會有什麼變化,畫幾個簡圖來幫忙理解負載均衡

項目A調用項目B分佈式

正常調用項目A請求項目Bide

a-b.jpg

有了服務中心以後,任何一個服務都不能直接去掉用,都須要經過服務中心來調用微服務

af-b.jpg

項目A調用項目B,項目B在調用項目C設計

a-ffb-c.jpg

這時候調用的步驟就會爲兩步:第一步,項目A首先從服務中心請求項目B服務器,而後項目B在從服務中心請求項目C服務。3d

a-gf6-c-d.jpg

上面的項目只是兩三個相互之間的簡單調用,可是若是項目超過20個30個呢,在15年末的時候我司分佈式的項目就達到了二十幾個,畫一張圖來描述幾十個項目之間的相互調用關係全是線條,任何其中的一個項目改動,就會牽連好幾個項目跟着重啓,巨麻煩並且容易出錯。經過服務中心來獲取服務你不須要關注你調用的項目IP地址,由幾臺服務器組成,每次直接去服務中心獲取可使用的服務去調用既可。

因爲各類服務都註冊到了服務中心,就有了去作不少高級功能條件。好比幾臺服務提供相同服務來作均衡負載;監控服務器調用成功率來作熔斷,移除服務列表中的故障點;監控服務調用時間來對不一樣的服務器設置不一樣的權重等等。

Eureka

按照官方介紹:

Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.

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-architecture-overview (1).png

上圖簡要描述了Eureka的基本架構,由3個角色組成:

一、Eureka Server

提供服務註冊和發現

二、Service Provider

服務提供方

將自身服務註冊到Eureka,從而使服務消費方可以找到

三、Service Consumer

服務消費方

從Eureka獲取註冊服務列表,從而可以消費服務

經典介紹

2精選.jpg

4評論-文字.jpg

9視頻-小.jpg
相關文章
相關標籤/搜索