W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
了解 Dubbo 的三大中心化組件,它們各自的職責、工作方式。
作為一個微服務(wù)框架,Dubbo sdk 跟隨著微服務(wù)組件被部署在分布式集群各個位置,為了在分布式環(huán)境下實現(xiàn)各個微服務(wù)組件間的協(xié)作, Dubbo 定義了一些中心化組件,這包括:
上圖完整的描述了 Dubbo 微服務(wù)組件與各個中心的交互過程。
以上三個中心并不是運行 Dubbo 的必要條件,用戶完全可以根據(jù)自身業(yè)務(wù)情況決定只啟用其中一個或多個,以達到簡化部署的目的。通常情況下,所有用戶都會以獨立的注冊中心 開始 Dubbo 服務(wù)開發(fā),而配置中心、元數(shù)據(jù)中心則會在微服務(wù)演進的過程中逐步的按需被引入進來。
注冊中心扮演著非常重要的角色,它承載著服務(wù)注冊和服務(wù)發(fā)現(xiàn)的職責。目前Dubbo支持以下兩種粒度的服務(wù)發(fā)現(xiàn)和服務(wù)注冊,分別是接口級別和應用級別,注冊中心可以按需進行部署:
而注冊中心并不依賴于配置中心和元數(shù)據(jù)中心,如下圖所示:
該圖中沒有部署配置中心和元數(shù)據(jù)中心,在Dubbo中會默認將注冊中心的實例同時作為配置中心和元數(shù)據(jù)中心,這是Dubbo的默認行為,如果確實不需要配置中心或者元數(shù)據(jù)中心的能力,可在配置中關(guān)閉,在注冊中心的配置中有兩個配置分別為use-as-config-center和use-as-metadata-center,將配置置為false即可。
元數(shù)據(jù)中心在2.7.x版本開始支持,隨著應用級別的服務(wù)注冊和服務(wù)發(fā)現(xiàn)在Dubbo中落地,元數(shù)據(jù)中心也變的越來越重要。在以下幾種情況下會需要部署元數(shù)據(jù)中心:
如果有以上兩種需求,都可以選擇部署元數(shù)據(jù)中心,并通過Dubbo的配置來集成該元數(shù)據(jù)中心。
元數(shù)據(jù)中心并不依賴于注冊中心和配置中心,用戶可以自由選擇是否集成和部署元數(shù)據(jù)中心,如下圖所示:
該圖中不配備配置中心,意味著可以不需要全局管理配置的能力。該圖中不配備注冊中心,意味著可能采用了Dubbo mesh的方案,也可能不需要進行服務(wù)注冊,僅僅接收直連模式的服務(wù)調(diào)用。
配置中心與其他兩大中心不同,它無關(guān)于接口級還是應用級,它與接口并沒有對應關(guān)系,它僅僅與配置數(shù)據(jù)有關(guān),即使沒有部署注冊中心和元數(shù)據(jù)中心,配置中心也能直接被接入到Dubbo應用服務(wù)中。在整個部署架構(gòu)中,整個集群內(nèi)的實例(無論是Provider還是Consumer)都將會共享該配置中心集群中的配置,如下圖所示:
該圖中不配備注冊中心,意味著可能采用了Dubbo mesh的方案,也可能不需要進行服務(wù)注冊,僅僅接收直連模式的服務(wù)調(diào)用。
該圖中不配備元數(shù)據(jù)中心,意味著Consumer可以從Provider暴露的MetadataService獲取服務(wù)元數(shù)據(jù),從而實現(xiàn)RPC調(diào)用
雖然三大中心已不再是Dubbo應用服務(wù)所必須的,但是在真實的生產(chǎn)環(huán)境中,一旦已經(jīng)集成并且部署了該三大中心,三大中心還是會面臨可用性問題,Dubbo需要支持三大中心的高可用方案。在Dubbo中就支持多注冊中心、多元數(shù)據(jù)中心、多配置中心,來滿足同城多活、兩地三中心、異地多活等部署架構(gòu)模式的需求。
Dubbo SDK對三大中心都支持了Multiple模式。
拿注冊中心舉例,下面是一個多活場景的部署架構(gòu)示意圖:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: