溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行springcloud中的注冊中心Eureka分析

發(fā)布時(shí)間:2021-12-02 15:49:19 來源:億速云 閱讀:127 作者:柒染 欄目:軟件技術(shù)

如何進(jìn)行springcloud中的注冊中心Eureka分析,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

Eureka是Netflix開源的一款提供服務(wù)注冊和發(fā)現(xiàn)的產(chǎn)品,它提供了完整的Service Registry和Service Discovery實(shí)現(xiàn)。也是springcloud體系中最重要最核心的組件之一。

服務(wù)中心

服務(wù)中心又稱注冊中心,管理各種服務(wù)功能包括服務(wù)的注冊、發(fā)現(xiàn)、熔斷、負(fù)載、降級等,比如dubbo admin后臺的各種功能。

有了服務(wù)中心調(diào)用關(guān)系會(huì)有什么變化,畫幾個(gè)簡圖來幫忙理解

項(xiàng)目A調(diào)用項(xiàng)目B

正常調(diào)用項(xiàng)目A請求項(xiàng)目B

如何進(jìn)行springcloud中的注冊中心Eureka分析

有了服務(wù)中心之后,任何一個(gè)服務(wù)都不能直接去掉用,都需要通過服務(wù)中心來調(diào)用

如何進(jìn)行springcloud中的注冊中心Eureka分析

項(xiàng)目A調(diào)用項(xiàng)目B,項(xiàng)目B在調(diào)用項(xiàng)目C

如何進(jìn)行springcloud中的注冊中心Eureka分析

這時(shí)候調(diào)用的步驟就會(huì)為兩步:第一步,項(xiàng)目A首先從服務(wù)中心請求項(xiàng)目B服務(wù)器,然后項(xiàng)目B在從服務(wù)中心請求項(xiàng)目C服務(wù)。

如何進(jìn)行springcloud中的注冊中心Eureka分析

上面的項(xiàng)目只是兩三個(gè)相互之間的簡單調(diào)用,但是如果項(xiàng)目超過20個(gè)30個(gè)呢,在15年底的時(shí)候我司分布式的項(xiàng)目就達(dá)到了二十幾個(gè),畫一張圖來描述幾十個(gè)項(xiàng)目之間的相互調(diào)用關(guān)系全是線條,任何其中的一個(gè)項(xiàng)目改動(dòng),就會(huì)牽連好幾個(gè)項(xiàng)目跟著重啟,巨麻煩而且容易出錯(cuò)。通過服務(wù)中心來獲取服務(wù)你不需要關(guān)注你調(diào)用的項(xiàng)目IP地址,由幾臺服務(wù)器組成,每次直接去服務(wù)中心獲取可以使用的服務(wù)去調(diào)用既可。

由于各種服務(wù)都注冊到了服務(wù)中心,就有了去做很多高級功能條件。比如幾臺服務(wù)提供相同服務(wù)來做均衡負(fù)載;監(jiān)控服務(wù)器調(diào)用成功率來做熔斷,移除服務(wù)列表中的故障點(diǎn);監(jiān)控服務(wù)調(diào)用時(shí)間來對不同的服務(wù)器設(shè)置不同的權(quán)重等等。

Eureka

按照官方介紹:Eureka 是一個(gè)基于 REST 的服務(wù),主要在 AWS 云中使用, 定位服務(wù)來進(jìn)行中間層服務(wù)器的負(fù)載均衡和故障轉(zhuǎn)移。

Spring Cloud 封裝了 Netflix 公司開發(fā)的 Eureka 模塊來實(shí)現(xiàn)服務(wù)注冊和發(fā)現(xiàn)。Eureka 采用了 C-S 的設(shè)計(jì)架構(gòu)。Eureka Server 作為服務(wù)注冊功能的服務(wù)器,它是服務(wù)注冊中心。而系統(tǒng)中的其他微服務(wù),使用 Eureka 的客戶端連接到 Eureka Server,并維持心跳連接。這樣系統(tǒng)的維護(hù)人員就可以通過 Eureka Server 來監(jiān)控系統(tǒng)中各個(gè)微服務(wù)是否正常運(yùn)行。Spring Cloud 的一些其他模塊(比如Zuul)就可以通過 Eureka Server 來發(fā)現(xiàn)系統(tǒng)中的其他微服務(wù),并執(zhí)行相關(guān)的邏輯。

Eureka由兩個(gè)組件組成:Eureka服務(wù)器和Eureka客戶端。Eureka服務(wù)器用作服務(wù)注冊服務(wù)器。Eureka客戶端是一個(gè)java客戶端,用來簡化與服務(wù)器的交互、作為輪詢負(fù)載均衡器,并提供服務(wù)的故障切換支持。Netflix在其生產(chǎn)環(huán)境中使用的是另外的客戶端,它提供基于流量、資源利用率以及出錯(cuò)狀態(tài)的加權(quán)負(fù)載均衡。

用一張圖來認(rèn)識一下:

如何進(jìn)行springcloud中的注冊中心Eureka分析

上圖簡要描述了Eureka的基本架構(gòu),由3個(gè)角色組成:

1、Eureka Server  提供服務(wù)注冊和發(fā)現(xiàn)

2、Service Provider  服務(wù)提供方  將自身服務(wù)注冊到Eureka,從而使服務(wù)消費(fèi)方能夠找到

3、Service Consumer  服務(wù)消費(fèi)方  從Eureka獲取注冊服務(wù)列表,從而能夠消費(fèi)服務(wù)

技術(shù)架構(gòu)圖如下:

如何進(jìn)行springcloud中的注冊中心Eureka分析

看完上述內(nèi)容,你們掌握如何進(jìn)行springcloud中的注冊中心Eureka分析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI