天天看點

dubbo源碼解讀(一)

前幾個月就有開始研究dubbo的源碼,不過基于自己比較懶是以一直也沒有深入的去研究,現在也根據自己的整理心得來輸出一份自己的解讀,當然這一切都是從0開始,自己的解讀過程都是實時個人摸索,是以有些不對的地方歡迎大佬們批判,也歡迎大家吐槽。

在開始之前我們先了解下dubbo的項目結構群組件劃分:

dubbo源碼解讀(一)

我這裡對dubbo根據pom進行了基本的劃分,下邊對這些元件做下基本的說明,并且來分析下解讀入口和流程

dubbo-bom:這個是不知道意義,不過後邊在解讀這個文檔的時候肯定會補充上

dubbo-compatible:這個現在也不知道是啥,可能需要追更阿裡版本的源碼

dubbo-distribution:

以上不知道具體含義,如果有知道的大佬望解答

dubbo-cluster:這一塊的意義我不做解說了,作為一個白菜我對這個詞彙真不知道是怎麼表達,有大佬看到希望說明下

dubbo-common:這裡定義了dubbo裡邊通用的一些工具元件

dubbo-container:字面意思是提供的容器子產品

dubbo-configcenter:提供的配置中心子產品

dubbo-config:提供的dubbo配置子產品

dubbo-dependencies:提供dubbo內建其他元件的pom

dubbo-filter:攔截器子產品

dubbo-register:注冊中心子產品

dubbo-metadata:2.7.x版本增加的中繼資料中心子產品

dubbo-monitor:監控子產品

dubbo-remoting:遠端通訊子產品

dubbo-rpc:rpc子產品

dubbo-serialization:序列化子產品

dubbo-plugin:dubbo的其他插件子產品

dubbo-demo:測試子產品

通過dubbo-demo子產品,我們可以發現dubbo分别提供了基于注解,api,xml三種方式的服務注冊和發現

不過,如果隻是想要搭建dubbo服務可以從demo入手,但是我們想要解讀dubbo的源碼,并了解其内部的實作進而學習到一些編碼以及設計方面的東西,這時候不建議直接從demo開始debug。

通過上邊的子產品劃分上我可以整理到dubbo-common是一個非常好的入口,

後續的解讀我也會根據依賴,元件化分以及後續的操作進行重新劃分

而且下載下傳好源碼後我們很容易發現,dubbo的版本都是通過統一的父版本來完成,這為以後的維護和使用提供了周遊

下一篇開始我們來解讀下 dubbo-common