RocketMQ源碼分析——項目結構和類設計

項目結構

RocketMQ的源碼如上,由多個maven工程組成。 異步

多個maven工程之間的依賴關係如上圖所示,從上面咱們能夠看出rocketmq-remoting是核心模塊。 maven



rocketmq-common

該模塊是通用模塊,類圖就不須要畫了,它主要是一些通用的數據模型、枚舉和常量定義等,比較簡單。 spa

rocketmq-remoting

該模塊是一個遠程通信模塊,抽象出了一個基於client和server的雙向通信通用組件,二者通信支持同步和異步兩種通信方式。 netty

該模塊默認提供了一個基於netty-all-4.0.25.Final的雙向通信實現。 orm


rocketmq-namesrv

namesrv是RocketMQ的簡單的註冊中心服務。 server

它存儲了mq運行期的臨時信息。主要包括這些: rem

Topic列表, 同步

Topic對應的BrokerName列表, 源碼

BrokerName包含的brokerId和brokerAddress列表等。 cli

Cluster及BrokerName列表。

broker存活信息列表。

broker對應的過濾服務列表。




rocketmq-broker



rocketmq-store

相關文章
相關標籤/搜索