如何進(jìn)行springcloud中的注冊(cè)中心Eureka分析,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
Eureka是Netflix開源的一款提供服務(wù)注冊(cè)和發(fā)現(xiàn)的產(chǎn)品,它提供了完整的Service Registry和Service Discovery實(shí)現(xiàn)。也是springcloud體系中最重要最核心的組件之一。
服務(wù)中心
服務(wù)中心又稱注冊(cè)中心,管理各種服務(wù)功能包括服務(wù)的注冊(cè)、發(fā)現(xiàn)、熔斷、負(fù)載、降級(jí)等,比如dubbo admin后臺(tái)的各種功能。
有了服務(wù)中心調(diào)用關(guān)系會(huì)有什么變化,畫幾個(gè)簡(jiǎn)圖來幫忙理解
項(xiàng)目A調(diào)用項(xiàng)目B
正常調(diào)用項(xiàng)目A請(qǐng)求項(xiàng)目B
有了服務(wù)中心之后,任何一個(gè)服務(wù)都不能直接去掉用,都需要通過服務(wù)中心來調(diào)用
項(xiàng)目A調(diào)用項(xiàng)目B,項(xiàng)目B在調(diào)用項(xiàng)目C
這時(shí)候調(diào)用的步驟就會(huì)為兩步:第一步,項(xiàng)目A首先從服務(wù)中心請(qǐng)求項(xiàng)目B服務(wù)器,然后項(xiàng)目B在從服務(wù)中心請(qǐng)求項(xiàng)目C服務(wù)。
上面的項(xiàng)目只是兩三個(gè)相互之間的簡(jiǎn)單調(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地址,由幾臺(tái)服務(wù)器組成,每次直接去服務(wù)中心獲取可以使用的服務(wù)去調(diào)用既可。
由于各種服務(wù)都注冊(cè)到了服務(wù)中心,就有了去做很多高級(jí)功能條件。比如幾臺(tái)服務(wù)提供相同服務(wù)來做均衡負(fù)載;監(jiān)控服務(wù)器調(diào)用成功率來做熔斷,移除服務(wù)列表中的故障點(diǎn);監(jiān)控服務(wù)調(diào)用時(shí)間來對(duì)不同的服務(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ù)注冊(cè)和發(fā)現(xiàn)。Eureka 采用了 C-S 的設(shè)計(jì)架構(gòu)。Eureka Server 作為服務(wù)注冊(cè)功能的服務(wù)器,它是服務(wù)注冊(cè)中心。而系統(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ù)注冊(cè)服務(wù)器。Eureka客戶端是一個(gè)java客戶端,用來簡(jiǎn)化與服務(wù)器的交互、作為輪詢負(fù)載均衡器,并提供服務(wù)的故障切換支持。Netflix在其生產(chǎn)環(huán)境中使用的是另外的客戶端,它提供基于流量、資源利用率以及出錯(cuò)狀態(tài)的加權(quán)負(fù)載均衡。
用一張圖來認(rèn)識(shí)一下:
上圖簡(jiǎn)要描述了Eureka的基本架構(gòu),由3個(gè)角色組成:
1、Eureka Server 提供服務(wù)注冊(cè)和發(fā)現(xiàn)
2、Service Provider 服務(wù)提供方 將自身服務(wù)注冊(cè)到Eureka,從而使服務(wù)消費(fèi)方能夠找到
3、Service Consumer 服務(wù)消費(fèi)方 從Eureka獲取注冊(cè)服務(wù)列表,從而能夠消費(fèi)服務(wù)
技術(shù)架構(gòu)圖如下:
看完上述內(nèi)容,你們掌握如何進(jìn)行springcloud中的注冊(cè)中心Eureka分析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!