RocketMQ是阿里巴巴於2012年開源的國產分佈式消息中間件,後捐贈給Apache軟件基金會。它有如下特點:
- 擴展性靈活。其四大核心組件【NameServer、Broker、Producer、Consumer】,每個都可以在沒有單點故障的情況下水平擴展
- 採用零拷貝原理實現了海量消息堆積能力
- 支持順序消息。分爲全局有序消息和局部有序消息,一般推薦使用局部有序消息,即在同一個隊列中實現。
- 支持多種消息過濾方式。分爲服務端消息過濾和消費端消息過濾
- 支持事務消息
- 支持回溯消費。支持按照時間回溯消費,時間維度精確到毫秒,可以向前回溯,也可以向後回溯。
下面部署測試下:
1. 下載安裝啓動
這裏下載的是4.7.0版本的:
1.1 啓動NameServer
看看日誌確認下,啓動成功:
如果停止,執行如下命令即可:
1.2 啓動Broder
啓動失敗,看看錯誤:
內存不足,修改下文件runbrocker.sh,如下:
修改爲:
再次啓動,啓動成功:
2. 安裝控制檯
2.1 下載rocker-mq-console源碼, 修改配置文件
2.2 編譯
注意,使用OpenJDK打包會由於SSL問題,打包失敗,切換OracleJDK就沒問題了。
2.3 啓動
RocketMQ搭建完成,下次再寫下spring boot連接rocketmq進行消息的發送與接收處理了。