假如讓你設(shè)計一個dubbo【一】

假設(shè)我們開發(fā)一個rpc遠(yuǎn)程調(diào)用框架

那么這個框架需要怎么去寫

1呻畸、首先有遠(yuǎn)程配置中心config

2拆檬、有服務(wù)代理層【包裝業(yè)務(wù)上的服務(wù)做一個代理】
3列敲、有服務(wù)注冊中心【代理了服務(wù)之后 向該注冊中心注冊服務(wù)代理】

4、有路由【遠(yuǎn)程調(diào)用先走路由獲取服務(wù)代理實例、集群必備的東西】
5、有遠(yuǎn)程調(diào)用層【發(fā)起服務(wù)調(diào)用】

6据途、有網(wǎng)絡(luò)傳輸層、有信息交換層【這個是一個傳輸協(xié)議的實現(xiàn)層】
7寂拆、有序列化層【針對網(wǎng)絡(luò)IO信息編碼方式的統(tǒng)一坯屿、傳輸協(xié)議最基本的東西】

8、服務(wù)監(jiān)控【不屬于RPC检激、但是服務(wù)監(jiān)控必不可少】

總結(jié):
核心配置:服務(wù)注冊中心肴捉、服務(wù)代理和服務(wù)調(diào)用
優(yōu)化配置:配置中心腹侣、服務(wù)監(jiān)控、
基石配置:網(wǎng)絡(luò)傳輸以及協(xié)議齿穗、序列化方式的定制

dubbo框架設(shè)計

dubbo-framework.jpg

簡單用自己的語言描述這個圖

1傲隶、左上角 Dubbo Framework
2、左上角往右簡單標(biāo)識 每個顏色代表什么意思窃页、更好理解圖中數(shù)據(jù)流向
消費(fèi)者跺株、提供者、開始脖卖、接口乒省、類、繼承關(guān)系畦木、調(diào)用鏈方向袖扛、依賴方向
3、左側(cè)一豎列十籍、黑體字 service\config蛆封、等等
服務(wù)接口【service】、配置層【config】勾栗、服務(wù)代理層【proxy】惨篱、注冊中心【registry】、
路由【cluster】围俘、監(jiān)控中心【monitor】砸讳、遠(yuǎn)程調(diào)用【protocol】、
信息交換【exchange】界牡、網(wǎng)絡(luò)傳輸【transport】绣夺、數(shù)據(jù)序列化【serialize】

結(jié)合自己所想做一個分類
核心配置:服務(wù)代理層【proxy】、注冊中心【registry】欢揖、遠(yuǎn)程調(diào)用【protocol】
優(yōu)化配置:配置層【config】陶耍、路由【cluster】、監(jiān)控中心【monitor】
基石配置:信息交換【exchange】她混、網(wǎng)絡(luò)傳輸【transport】烈钞、數(shù)據(jù)序列化【serialize】

簡單猜想一下dubbo這么設(shè)計的代碼架構(gòu)

service:對外暴露接口 API與SPI分離

config:核心referenceConfig、ServiceConfig
serviceConfig----獲取遠(yuǎn)程倉庫配置坤按、獲取文件配置毯欣、貌似還可以獲取環(huán)境變量【實質(zhì)上跟修改本地host一個道理、規(guī)定了一個locahost代理 然后操作系統(tǒng)去解析這個配置】

referenceConfig--是消費(fèi)端配置臭脓、其應(yīng)該是從服務(wù)端獲取配置信息

proxy:不由想到代理模式酗钞、原業(yè)務(wù)邏輯bean不變、新建bean來實現(xiàn)原bean的代理【也算是一種封裝】

registry:注冊中心、看過eureka砚作、底層內(nèi)存中維護(hù)了 一個雙map結(jié)構(gòu)數(shù)據(jù)列表窘奏、維護(hù)服務(wù)實例、服務(wù)地址葫录、以及代理service等

cluster:路由器着裹、想到最簡單的就是url轉(zhuǎn)發(fā)、當(dāng)然肯定沒這么簡單米同、應(yīng)該還會有骇扇、實時獲取服務(wù)列表、負(fù)載均衡算法等等

monitor:監(jiān)控中心面粮、這個web服務(wù)把各路信息提上來做一個展示少孝、應(yīng)該沒啥、最多維護(hù)一個硬盤文件

protocol:遠(yuǎn)程調(diào)用熬苍、怎么調(diào)用--不太清楚--再看看

exchange:信息交換稍走、request、response封裝

transport:網(wǎng)絡(luò)傳輸冷溃、大名鼎鼎的netty就在這吧~~

seriallize:數(shù)據(jù)序列化、提供多重序列化方式梦裂、hessian【本地存根方式】似枕、rmi等等吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市年柠,隨后出現(xiàn)的幾起案子凿歼,更是在濱河造成了極大的恐慌,老刑警劉巖冗恨,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件答憔,死亡現(xiàn)場離奇詭異,居然都是意外死亡掀抹,警方通過查閱死者的電腦和手機(jī)虐拓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來傲武,“玉大人蓉驹,你說我怎么就攤上這事【纠” “怎么了态兴?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長疟位。 經(jīng)常有香客問我瞻润,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任绍撞,我火速辦了婚禮正勒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘楚午。我一直安慰自己昭齐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布矾柜。 她就那樣靜靜地躺著阱驾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怪蔑。 梳的紋絲不亂的頭發(fā)上里覆,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機(jī)與錄音缆瓣,去河邊找鬼喧枷。 笑死,一個胖子當(dāng)著我的面吹牛弓坞,可吹牛的內(nèi)容都是我干的隧甚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼渡冻,長吁一口氣:“原來是場噩夢啊……” “哼戚扳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起族吻,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤帽借,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后超歌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體砍艾,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年巍举,在試婚紗的時候發(fā)現(xiàn)自己被綠了脆荷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡懊悯,死狀恐怖简烘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情定枷,我是刑警寧澤孤澎,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站欠窒,受9級特大地震影響覆旭,放射性物質(zhì)發(fā)生泄漏退子。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一型将、第九天 我趴在偏房一處隱蔽的房頂上張望寂祥。 院中可真熱鬧,春花似錦七兜、人聲如沸丸凭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惜犀。三九已至,卻和暖如春狠裹,著一層夾襖步出監(jiān)牢的瞬間虽界,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工涛菠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留莉御,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓俗冻,卻偏偏與公主長得像礁叔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子迄薄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理琅关,服務(wù)發(fā)現(xiàn),斷路器噪奄,智...
    卡卡羅2017閱讀 134,665評論 18 139
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 10,989評論 6 13
  • 鄭重聲明死姚,本指南只適用于正常人類人乓,二次元勤篮,汪星人,喵星人色罚,火星人慎重閱讀碰缔。造成不良后果,概不負(fù)責(zé)戳护。 過年是一種期盼...
    jude_瓊閱讀 315評論 0 1
  • 本文參加#感悟三下鄉(xiāng)金抡,青春筑夢行#活動,本人承諾腌且,文章內(nèi)容為原創(chuàng)梗肝,且未在其他平臺發(fā)表過。 來到這里的每一天迎接晨...
    JIAMINGHUAN閱讀 2,020評論 21 81
  • Lydia Courteille是法國著名的設(shè)計師Lydia Courteille以自己名字命名的珠寶品牌铺董。Lyd...
    D3舍閱讀 617評論 0 2