Dubbo原始碼分析 Config配置類

2021-10-05 10:16:35 字數 1236 閱讀 3157

整體按四組進行設計,包括:

抽象配置類的繼承關係如下

抽象方法配置(abstractmethodconfig):包括超時時間timeout、重試次數retries、最大併發呼叫actives、負載均衡loadbalance等內部屬性

抽象服務配置(abstractserviceconfig):包括協議配置protocols、是否暴露export、暴露延遲delay、預熱時間warmup、是否註冊register、服務分組group、權重weight等內部屬性

抽象引用配置(abstractreferenceconfig):包括是否檢查服務提供者check、是否懶載入lazy、是否粘滯sticky、是否在jvm中找呼叫例項injvm、是否泛化generic、分組group等內部屬性

核心配置類的結構如下

providerconfig和consumerconfig:serviceconfig和referenceconfig的補充,和其它類的關係如上,側重於執行時執行緒、網路環境以及相關實現的描述。例如,providerconfig包含host、port、contextpath、threadpool、exchanger、transporter、server、client、networker、dispatcher等;consumerconfig包含threadpool、corethreads、threads、client等。

methodconfig和argumentconfig:serviceconfig和referenceconfig中更具體的配置,methodconfig包含argumentconfig類物件作為內部屬性

註冊配置(registryconfig):註冊中心相關配置包括註冊中心位址address、使用者名稱username、密碼password;網路相關實現包括transporter、exchanger、networker、server、client;開關資訊包括是否同意註冊register、是否同意訂閱subscribe等

本文參考了dubbo的2.6.5版本

Dubbo原始碼分析

dubbo原始碼分析 其實已經有很多比較好的原始碼分析部落格,結合部落格和開發經驗再去分析原始碼,就能對dubbo的實現有個整體全面的理解,也能深入去深究其中的具體實現細節。dubbo裡主要用到的spi service provider inte ce netty nio 同步非阻塞多路復用框架,d...

Dubbo原始碼分析 多版本

在開發的時候,可能多個專案會修改同乙個服務,那麼不能直接暴露出來,否則會被其他人給呼叫到,導致資料不正常,那麼這種情況下可以使用dubbo的多版本來解決這個問題,配置如下 穩定環境下的provider和consumer com.foo.barservice version 1.0.0 barserv...

Dubbo服務註冊原始碼分析

服務在本地發布完成,那麼接下去要進入服務的註冊階段 final registry registry getregistry origininvoker final url registeredproviderurl geturltoregistry providerurl,registryurl d...