前幾個月就有開始研究dubbo的源碼,不過基于自己比較懶是以一直也沒有深入的去研究,現在也根據自己的整理心得來輸出一份自己的解讀,當然這一切都是從0開始,自己的解讀過程都是實時個人摸索,是以有些不對的地方歡迎大佬們批判,也歡迎大家吐槽。
在開始之前我們先了解下dubbo的項目結構群組件劃分:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPB1ENjRUTwUFVNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5YzNwQjMxATMwETMwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
我這裡對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