解壓後的目錄
benchmark 是一些demo 方便測試
bin:可執行文件
conf:配置文件
lib:依賴的jar
啓動rocketmq
01 啓動namesrv
啓動namesrv
1 nohup sh bin/mqnamesrv &
查看啓動日誌
2 tail -f ~/logs/logs/namsrv.log
啓動broker
01 啓動broker
nohup sh mqbroker -n localhost:9876 &
02 查看日誌
如果沒啓動成功
關閉rocketmq
sh shutdown namesrv
搭建rocketmq 集羣
Producer 發送消息
通信架構
NameSrv 無狀態 之間不需要同步消息 可以集羣部署 節點之間無需同步消息
broker : 分爲主從節點 主節點 寫操作 從節點 讀消息
broke 區分主從
通過brokerId分主從 brokerName分組
id 是0 代表主節點 大於0 從節點 master 可以部署多個 每個broker和Namesrv 集羣中的所有節點建立長連接 定期註冊 Topic 信息到namsrrv
消息生產者(product) 與NameSrv 中的其中一個節點隨機選擇一個 建立長連接 ,定期從NameSrv 獲取Topic路由信息 並且向提供Topic的master節點 建立長連接 定時發送心跳 Product 之間無狀態 可以集羣部署
consume 與NameSrv 集羣中的其中一個節點 建立長連接 定期從 namesrv 獲取Topic的路由信息 ,並向 提供Topic服務的Master slave 建立長連接 定時向Master Slave 發送心跳信息 ,Consume可以從master或slave 訂閱消息