1. 程式人生 > >Dubbo原始碼分析(一):Dubbo原始碼的結構概述

Dubbo原始碼分析(一):Dubbo原始碼的結構概述

1.dubbo原始碼的結構



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模組中,以便更大程度複用。 

下面是更詳細的Project關係圖,依賴關係線有點亂。整個模組是從上到下傳遞依賴的。