朝花夕拾——Dubbo知識(shí)點(diǎn)回顧總結(jié)

前言
最近一段時(shí)間,我們一直在分享dubbo相關(guān)的知識(shí)點(diǎn),從最開始的入門配置、依賴,到后面的集群負(fù)載,我們都有不同程度的涉獵,當(dāng)然還有很多的內(nèi)容沒有分享,但是這其中絕大多數(shù)都是我覺得參考官方文檔很容易自己完成的,所以也就沒有深入展開,而且我分享內(nèi)容的原則是,首先要自己愿意分享,其次分享的內(nèi)容必須有價(jià)值,因此我覺得dubbo的相關(guān)知識(shí)點(diǎn)我應(yīng)該做一個(gè)簡單的總結(jié),然后剩余的內(nèi)容,交給大家自己去學(xué)習(xí),這樣我也算是拋磚引玉了。
回顧總結(jié)
開始之前,我們先看下dubbo的架構(gòu)原理圖:
從這張?jiān)韴D,我們可以看出dubbo的啟動(dòng)過程、調(diào)用過程,以及整體的架構(gòu):
-
啟動(dòng)服務(wù)提供者(包括
rpc容器啟動(dòng)); -
服務(wù)提供者注冊(cè)至注冊(cè)中心;
-
服務(wù)消費(fèi)者訂閱服務(wù)
-
注冊(cè)中心通知消費(fèi)者訂閱結(jié)果
-
消費(fèi)者發(fā)起
rpc調(diào)用 -
消費(fèi)者和提供者分別向監(jiān)控中心發(fā)送心跳數(shù)據(jù)
這里需要提一點(diǎn)的是,dubbo官方其實(shí)為我們默認(rèn)提供了一個(gè)container容器,這個(gè)容器是可以獨(dú)立運(yùn)行的,官方為我們默認(rèn)提供了三種容器的實(shí)現(xiàn),包括springContainer、LogbackCOntainer和Log4jContainer
其中springContainer默認(rèn)會(huì)加載classpath*:META-INF/spring/*.xml,也就是說只要我們把dubbo相關(guān)配置放在這個(gè)路徑下,我們是可以直接通過dubbo自己的容器啟動(dòng)的,而不需要借助第三方容器,而且官方默認(rèn)為我們指定的就是springContainer。
好了,關(guān)于容器我們就說這么多,有興趣的小伙伴可以深入了解下。
內(nèi)容小結(jié)
本次dubbo的知識(shí)總結(jié)我們主要通過一張腦圖展開,詳細(xì)的知識(shí)點(diǎn)可以參考我們之前分享的內(nèi)容,同時(shí)對(duì)于我們沒有分享到的知識(shí)點(diǎn),各位小伙伴可以參考官方文檔。腦圖獲取方式:公眾號(hào)回復(fù)【dubbo腦圖】即可獲取源文件。
下面是所有dubbo的知識(shí)點(diǎn)索引,大家可以按照下面的索引,對(duì)相關(guān)知識(shí)點(diǎn)進(jìn)行回顧:
依賴
核心依賴
-
dubbo
注冊(cè)中心
-
zk -
nacos -
Redis -
Simple -
Multicast
配置
注冊(cè)配置
-
RegistryConfig
應(yīng)用配置
-
ApplicationConfig
協(xié)議配置
-
ProtocolConfig
監(jiān)控配置
-
MonitorConfig
提供者配置
-
ProviderConfig
消費(fèi)者配置
-
ConsumerConfig
配置中心配置
-
ConfigCenterBean
元數(shù)據(jù)配置
-
MetadataReportConfig
監(jiān)測(cè)配置
-
MetricsConfig
ssl配置
-
SslConfig
模塊配置
-
ModuleConfig
進(jìn)階用法
常用操作
-
啟動(dòng)時(shí)檢查 -
集群容錯(cuò) -
負(fù)載均衡 -
服務(wù)降級(jí) -
參數(shù)驗(yàn)證
開發(fā)測(cè)試常用
-
直連提供者 -
只訂閱 -
回聲測(cè)試 -
只注冊(cè)
線程相關(guān)
-
線程模型 -
異步執(zhí)行 -
異步調(diào)用 -
并發(fā)控制 -
消費(fèi)端線程池模型
配置相關(guān)
-
多協(xié)議 -
服務(wù)分組 -
多版本 -
配置規(guī)則 -
注冊(cè)信息簡化
緩存
-
結(jié)果緩存 -
ReferenceConfig緩存
控制管理
-
連接控制 -
延遲暴漏 -
延遲連接 -
分組聚合 -
靜態(tài)服務(wù)
回調(diào)
-
參數(shù)回調(diào) -
事件通知
安全
-
TLS -
令牌驗(yàn)證 -
分布式事務(wù)
運(yùn)維相關(guān)
-
路由規(guī)則 -
優(yōu)雅停機(jī) -
日志適配 -
訪問日志 -
導(dǎo)出線程堆棧 -
主機(jī)綁定 -
主機(jī)配置
其他
-
服務(wù)容器 -
Netty4支持 -
Kryo 和 FST 序列化 -
Protobuf 與 Interface 對(duì)比 -
泛化調(diào)用 -
Protobuf -
上下文信息 -
隱式參數(shù) -
本地存根 -
本地偽裝
基本原理
-
服務(wù)提供者(容器)
-
服務(wù)消費(fèi)者
-
注冊(cè)中心
-
監(jiān)控中心
-
SPI擴(kuò)展
協(xié)議擴(kuò)展
-
調(diào)用攔截?cái)U(kuò)展
-
引用監(jiān)聽擴(kuò)展
-
暴露監(jiān)聽擴(kuò)展
-
集群擴(kuò)展
-
路由擴(kuò)展
-
負(fù)載均衡擴(kuò)展
-
合并結(jié)果擴(kuò)展
-
注冊(cè)中心擴(kuò)展
-
監(jiān)控中心擴(kuò)展
-
擴(kuò)展點(diǎn)加載擴(kuò)展
-
動(dòng)態(tài)代理擴(kuò)展
-
編譯器擴(kuò)展
-
配置中心擴(kuò)展
-
消息派發(fā)擴(kuò)展
-
線程池?cái)U(kuò)展
-
序列化擴(kuò)展
-
網(wǎng)絡(luò)傳輸擴(kuò)展
-
信息交換擴(kuò)展
-
組網(wǎng)擴(kuò)展
-
Telnet 命令擴(kuò)展
-
狀態(tài)檢查擴(kuò)展
-
容器擴(kuò)展
-
緩存擴(kuò)展
-
驗(yàn)證擴(kuò)展
-
日志適配擴(kuò)展
協(xié)議
dubbo 協(xié)議
-
dubbo:// 協(xié)議參考手冊(cè)
http 協(xié)議
-
http:// 協(xié)議參考手冊(cè)
hessian 協(xié)議
-
hessian:// 協(xié)議參考手冊(cè)
redis 協(xié)議
-
redis:// 協(xié)議參考手冊(cè)
thrift 協(xié)議
-
thrift:// 協(xié)議參考手冊(cè)
gRPC 協(xié)議
-
grpc:// 協(xié)議參考手冊(cè)
memcached 協(xié)議
-
memcached:// 協(xié)議參考手冊(cè)
rmi 協(xié)議
-
rmi:// 協(xié)議參考手冊(cè)
webservice 協(xié)議
-
webservice:// 協(xié)議參考手冊(cè)
Triple 協(xié)議
-
Triple 協(xié)議使用
開發(fā) REST 應(yīng)用
-
在 Dubbo 中開發(fā) REST 風(fēng)格的遠(yuǎn)程調(diào)用
總結(jié)
dubbo相對(duì)而言,是一個(gè)比較容易上手的rpc框架,但是想要真正吃透dubbo,你也是要狠下功夫的,一方面dubbo如此流行,自然有其優(yōu)秀之處,這優(yōu)秀之處自然是值得我們每一個(gè)新生代碼農(nóng)學(xué)習(xí)的;另外一方面,dubbo整個(gè)生態(tài)體系是特別龐大的,不僅兼容我們常見的注冊(cè)中心、spring boot、spring cloud、k8s等主流框架及技術(shù),同時(shí)在性能方面也是特別優(yōu)秀;當(dāng)然,還有一個(gè)比較現(xiàn)實(shí)的問題,我們?cè)谡夜ぷ鞯拿嬖嚨臅r(shí)候,不僅要求要會(huì)用框架,更要了解框架內(nèi)部的工作原理和流程,這就要求我們對(duì)dubbo有更深入的了解和認(rèn)知,不然很難在眾多候選人中脫穎而出。
最后,我想說的是,學(xué)習(xí)這件事,看別人的輸出成果,和自己動(dòng)手去實(shí)踐驗(yàn)證,收獲是有天壤之別的。
很多時(shí)候,我們看別人東西的時(shí)候,總覺得很容易、不難,但是到自己真正動(dòng)手去做的時(shí)候,卻又不知所措,本質(zhì)上還是因?yàn)槟銢]有踩坑,你沒有跌倒,沒有積累和成長的過程,而這些恰恰是別人輸出成果之外的東西,這些別人無法教給你,你也學(xué)不會(huì),換句話說,你只有自己去踩坑,去解決問題,你才能更快成長,因?yàn)樗季S的頓悟,是沒有人可以幫你的。
寫一萬行代碼,和寫一百萬行代碼的人,他比你多的是不僅僅是代碼的數(shù)量,而是九十九萬行代碼的實(shí)踐體驗(yàn)和思維蛻變,實(shí)踐的終極目標(biāo)是讓你看清問題的本質(zhì),而這才是提升效率的關(guān)鍵。
- END -