RocketMQ的源碼如上,由多個maven工程組成。 異步
多個maven工程之間的依賴關係如上圖所示,從上面咱們能夠看出rocketmq-remoting是核心模塊。 maven
該模塊是通用模塊,類圖就不須要畫了,它主要是一些通用的數據模型、枚舉和常量定義等,比較簡單。 spa
該模塊是一個遠程通信模塊,抽象出了一個基於client和server的雙向通信通用組件,二者通信支持同步和異步兩種通信方式。 netty
該模塊默認提供了一個基於netty-all-4.0.25.Final的雙向通信實現。 orm
namesrv是RocketMQ的簡單的註冊中心服務。 server
它存儲了mq運行期的臨時信息。主要包括這些: rem
Topic列表, 同步
Topic對應的BrokerName列表, 源碼
BrokerName包含的brokerId和brokerAddress列表等。 cli
Cluster及BrokerName列表。
broker存活信息列表。
broker對應的過濾服務列表。