<a href="https://github.com/apache/rocketmq">https://github.com/apache/rocketmq</a>
<a href="https://github.com/apache/rocketmq-externals">https://github.com/apache/rocketmq-externals</a>
RocketMQ分成兩個程序運作
Namesrv
Broker
Namesrv,命名服務,主要負責Broker狀态管理,Topic路由資訊查詢等等,端口是9876
Broker負責消息存儲,轉發,等等,一般占用3個端口
10911 -- Broker主邏輯端口
10912 -- 持久化端口
10909 -- vip端口
另外,Namesrv可以叢集配置,各個Namesrv之間是對等的,彼此不通信,不需要互相通信。
Broker可以以單master, 多master,多master多slave等多種方式運作。

rocketmq-broker 主要的業務邏輯,消息收發,主從同步, pagecache等等
rocketmq-client 用戶端接口,比如生産者和消費者。pull和push消費模式,消息負載均衡等等。
rocketmq-common 公用資料結構等等
rocketmq-distribution 編譯子產品,編譯輸出等
rocketmq-example 示例,比如生産者和消費者
rocketmq-fliter
rocketmq-flitersrv
rocketmq-logappender 日志相關
rocketmq-namesrv Namesrv服務
rocketmq-openmessaging
rocketmq-remoting 遠端調用接口,封裝Netty,主要是NettyRemotingServer和NettyRemotingClient
rocketmq-srvutil server util,提供一些公用的工具方法,比如解析指令行參數
rocketmq-store 消息存儲
rocketmq-test 測試
rocketmq-tools 管理工具,比如有名的mqadmin工具
本文轉自rongwei84n 51CTO部落格,原文連結:http://blog.51cto.com/483181/2043857,如需轉載請自行聯系原作者