Dubbo注冊中心

注冊中心概述:

Dubbo通過注冊中心實現(xiàn)了分布式環(huán)境的服務注冊和發(fā)現(xiàn),是分布式節(jié)點的紐帶读第,主要作用如下:

1.動態(tài)加入,一個服務提供者通過注冊中心可以動態(tài)地把自己暴露給其他消費者,無需消費者逐個去更新配置文件韭山。

2.動態(tài)發(fā)現(xiàn),一個消費者可以動態(tài)的感知新的配置、路由規(guī)則和新的服務提供者.無需重啟服務使之生效

3.動態(tài)調(diào)整,注冊中心支持參數(shù)的動態(tài)調(diào)整灯变,新參數(shù)自動更新到所有服務相關(guān)節(jié)點扣猫。

4.統(tǒng)一配置菜循,避免了本地配置導致每個服務的配置不一致問題。

api模塊包括的注冊中心的所有API和抽象實現(xiàn)類申尤,下面模塊都是具體的實現(xiàn)

官方推薦使用zookeeper癌幕,阿里內(nèi)部沒有使用過redis作為注冊中心,故沒有長時間運行的可靠驗證.

工作流程:

服務提供者啟動的時候,會向注冊中心寫入自己的元數(shù)據(jù)信息,同時會訂閱配置元數(shù)據(jù)的信息.

消費者啟動的也會想注冊中心寫入自己的元數(shù)據(jù)信息,并訂閱服務提供者昧穿,路由和配置元數(shù)據(jù)

服務治理中心(dubbo-admin)啟動時勺远,會同時訂閱所有消費者和路由以及配置元數(shù)據(jù)的信息。

當服務提供者離開或者新的服務加入的時候时鸵,注冊中心服務提供者的信息會發(fā)生變化谚中,變化信息會動態(tài)通知消費者、服務治理中心

服務消費者服務調(diào)用的時候會異步將調(diào)用統(tǒng)計等上報給監(jiān)控中心寥枝。

原理概述:

dubo服務注冊的路徑結(jié)構(gòu)

可以在這里看到所有的都是在dubbo層級下的dubbo跟節(jié)點下面是當前所擁有的接口名稱宪塔,如果有多個接口,則會以多個子節(jié)點的形式展開

每個服務下面又分別有四個配置項

consumers: 當前服務下面所有的消費者列表(URL)

providers:當前服務下面所有的提供者列表(URL)

configuration:當前服務下面的配置信息信息囊拜,provider或者consumer會通過讀取這里的配置信息來獲取配置

routers: 當消費者在進行獲取提供者的時某筐,會通過這里配置好的路由來進行適配匹配規(guī)則。

可以看到冠跷,dubbo基本上很多時候都是通過URL的形式來進行交互獲取數(shù)據(jù)的南誊,在URL中也會保存

很多的信息身诺。

服務路徑解析

提供者會在 providers目錄下進行自身的服務注冊。

消費者會在consumers 目錄下進行自身注冊抄囚,并且監(jiān)聽 provider 目錄霉赡,以此通過監(jiān)聽提供者增加或者減少,實現(xiàn)服務發(fā)現(xiàn)幔托。

Monitor模塊會對整個服務級別做監(jiān)聽穴亏,用來得知整體的服務情況。以此就能更多的對整體情況做監(jiān)控重挑。

服務注冊流程分析:

服務注冊的主要類

首先 ServiceConfig 類拿到對外提供服務的實際類 ref(如:HelloServiceImpl),然后通過ProxyFactory 接口實現(xiàn)類中的 getInvoker 方法使用 ref 生成一個 AbstractProxyInvoker 實例嗓化,到這一步就完成具體服務到 Invoker 的轉(zhuǎn)化。接下來就是 Invoker 轉(zhuǎn)換到 Exporter 的過程谬哀。

刺覆、、史煎、

public interface RegistryService {

/**

*進行對URL的注冊操作谦屑,比如provider,consumer篇梭,routers等

*/

? ? void register(URL url);

/**

*解除對指定URL的注冊氢橙,比如provider,consumer很洋,routers等

*/

void unregister(URL url);

/**

*增加對指定URL的路徑監(jiān)聽充蓝,當有變化的時候進行通知操作

*/

? ? void subscribe(URL url, NotifyListener listener);

/**

*解除對指定URL的路徑監(jiān)聽隧枫,取消指定的listener

*/

? ? void unsubscribe(URL url, NotifyListener listener);

/**

*查詢指定URL下面的URL列表喉磁,比如查詢指定服務下面的consumer列表

*/

List<URL> lookup(URL url);

}

? ? ? ??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市官脓,隨后出現(xiàn)的幾起案子协怒,更是在濱河造成了極大的恐慌,老刑警劉巖卑笨,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孕暇,死亡現(xiàn)場離奇詭異,居然都是意外死亡赤兴,警方通過查閱死者的電腦和手機妖滔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桶良,“玉大人座舍,你說我怎么就攤上這事≡煞” “怎么了曲秉?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵采蚀,是天一觀的道長。 經(jīng)常有香客問我承二,道長榆鼠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任亥鸠,我火速辦了婚禮妆够,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘读虏。我一直安慰自己责静,他們只是感情好,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布盖桥。 她就那樣靜靜地躺著灾螃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揩徊。 梳的紋絲不亂的頭發(fā)上腰鬼,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機與錄音塑荒,去河邊找鬼熄赡。 笑死,一個胖子當著我的面吹牛齿税,可吹牛的內(nèi)容都是我干的彼硫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼凌箕,長吁一口氣:“原來是場噩夢啊……” “哼拧篮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起牵舱,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤串绩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后芜壁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體礁凡,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年慧妄,在試婚紗的時候發(fā)現(xiàn)自己被綠了顷牌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡塞淹,死狀恐怖窟蓝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情窖铡,我是刑警寧澤疗锐,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布坊谁,位于F島的核電站,受9級特大地震影響滑臊,放射性物質(zhì)發(fā)生泄漏口芍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一雇卷、第九天 我趴在偏房一處隱蔽的房頂上張望鬓椭。 院中可真熱鬧,春花似錦关划、人聲如沸小染。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裤翩。三九已至,卻和暖如春调榄,著一層夾襖步出監(jiān)牢的瞬間踊赠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工每庆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留筐带,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓缤灵,卻偏偏與公主長得像伦籍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子腮出,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容