dubbo原始碼之框架架構

2021-07-27 05:23:19 字數 820 閱讀 2861

一、模組說明:

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原始碼 dubbo之Listener

1.exporterlistener spi public inte ce exporterlistener 使用者可以繼承該方法重寫需要的方法 public abstract class exporterlisteneradapter implements exporterlistener pub...

dubbo原始碼之Adaptive註解

一 原始碼 documented retention retentionpolicy.runtime target public inte ce adaptive 二 adaptive相關類的載入 呼叫extensionloader類的loadfile 掃瞄介面實現類時,如果類上有adaptive ...

Dubbo原始碼解析之LoadBalance負載均衡

dubbo一共支援四種負載均衡策略,roundrobinloadbalance 輪詢 randomloadbalance 隨機 leastactiveloadbalance 最少活躍 consistenthashloadbalance 一致性雜湊 預設為隨機策略,我門在分析consumer呼叫過程中...