Dubbo分佈式框架學習(2)

源碼包結構圖解

可參考我的上篇文章 Dubbo分佈式框架學習 來進行對本文的學習


Dubbo十層設計圖

這裏寫圖片描述

1、源碼包結構

dubbo源碼包結構


2、dubbo框架模塊調用圖

就是源碼在框架中的調用流程圖

這裏寫圖片描述

dubbo-common 公共邏輯模塊,包括Util類和通用模型。
dubbo-remoting 遠程通訊模塊,相當於Dubbo協議的實現,如果RPC用RMI協議則不需要使用此包。
dubbo-rpc 遠程調用模塊,抽象各種協議,以及動態代理,只包含一對一的調用,不關心集羣的管理。
dubbo-cluster 集羣模塊,將多個服務提供方僞裝爲一個提供方,包括:負載均衡, 容錯,路由等,集羣的地址列表可以是靜態配置的,也可以是由註冊中心下發。
dubbo-registry 註冊中心模塊,基於註冊中心下發地址的集羣方式,以及對各種註冊中心的抽象。
dubbo-monitor 監控模塊,統計服務調用次數,調用時間的,調用鏈跟蹤的服務。
dubbo-config 配置模塊,是Dubbo對外的API,用戶通過Config使用Dubbo,隱藏Dubbo所有細節。
dubbo-container 容器模塊,是一個Standlone的容器,以簡單的Main加載Spring啓動,因爲服務通常不需要Tomcat/JBoss等Web容器的特性,沒必要用Web容器去加載服務。

整體上按照分層結構進行分包,與分層的不同點在於:

container爲服務容器,用於部署運行服務,沒有在層中畫出。
protocol層和proxy層都放在rpc模塊中,這兩層是rpc的核心,在不需要集羣時(只有一個提供者),可以只使用這兩層完成rpc調用。
transport層和exchange層都放在remoting模塊中,爲rpc調用的通訊基礎。
serialize層放在common模塊中,以便更大程度複用。

此處的模塊調用圖應結合dubbo十層設計圖。
對應關係:

這裏寫圖片描述


3、dubbo源碼包依賴關係圖

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章