Dubbo簡介

1、Dubbo:一個分布式、高性能、透明化的RPC服務(wù)框架(所謂的RPC框架就是不知道遠程服務(wù)器的具體實現(xiàn),只知道遠程服務(wù)器提供了什么功能,這里運用了代理設(shè)計模式 )

2、作用:提供服務(wù)自動注冊、自動發(fā)現(xiàn)等高效服務(wù)治理方案.


Dubbo架構(gòu)圖

3、Dubbo架構(gòu)圖(重點)

? ? 3.1 :Provider :提供者,服務(wù)發(fā)布方.

? ? 3.2:Consumer:消費者, 調(diào)用服務(wù)方

????3.3:Container:Dubbo容器.依賴于Spring容器.

? ? 3.4:Registry:注冊中心.當Container啟動時把所有可以提供的服務(wù)列表上Registry中進行注冊.

? ??????3.4.1作用:告訴Consumer提供了什么服務(wù)和服務(wù)方在哪里.

? ? 3.5:Monitor:監(jiān)聽器

? ? 3.6:虛線都是異步訪問,實線都是同步訪問

????3.7:(init 初始化)藍色虛線:在啟動時完成的功能

? ? 3.8:紅色虛線(實線)都是程序運行過程中執(zhí)行的功能

? ? 3.9:所有的角色都是可以在單獨的服務(wù)器上.所以必須遵守特定的協(xié)議.

4、運行原理(重點)

? ??4.0:(start)啟動容器,相當于在啟動Dubbo的Provider

? ? 4.1:(registry)啟動后會去注冊中心進行注冊,注冊所有可以提供的服務(wù)列表

? ? 4.2:(subscribe 訂閱)在Consumer啟動后會去register中獲取服務(wù)列表和Provider的地址,進行訂閱

? ? 4.3:(notify 通知)當Provider有修改后,注冊中心會把消息推送給Consumer

? ? ? ? 4.3.1:使用了觀察者設(shè)計模式(又叫發(fā)布/訂閱設(shè)計模式)。這里的Registry相當于被觀察者,Consumer相當于觀察者,當Consumer發(fā)現(xiàn)Registry發(fā)生了變化后,Consumer就會跟隨變化并發(fā)生一定的改變

????4.4:(invoke)根據(jù)獲取到的Provider地址,真實調(diào)用Provider中的功能

? ? ? ? 4.4.1:在Consumer方使用了代理設(shè)計模式,創(chuàng)建Provider方類的一個代理對象,通過代理對象獲取Provider中的真實功能,起到保護Provider真實功能的作用

? ? 4.5:(count)Consumer和Provider每隔1分鐘就會向Monitor發(fā)送統(tǒng)計信息,統(tǒng)計信息包括訪問次數(shù)、頻率等。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容