2. RocketMQ快速入門
RocketMQ是阿里巴巴2016年MQ中間件,使用Java語言開發,在阿里內部,RocketMQ承接了例如“雙11”等高併發場景的消息流轉,能夠處理萬億級別的消息。
2.1 準備工作
2.1.1 下載RocketMQ
RocketMQ最新版本:4.5.1
2.2.2 環境要求
-
Linux64位系統
-
JDK1.8(64位)
-
源碼安裝需要安裝Maven 3.2.x
2.2 安裝RocketMQ
2.2.1 安裝步驟
本教程以二進制包方式安裝
- 解壓安裝包
- 進入安裝目錄
2.2.2 目錄介紹
- bin:啓動腳本,包括shell腳本和CMD腳本
- conf:實例配置文件 ,包括broker配置文件、logback配置文件等
- lib:依賴jar包,包括Netty、commons-lang、FastJSON等
2.3 啓動RocketMQ
- 啓動NameServer
# 1.啓動NameServer
nohup sh bin/mqnamesrv &
# 2.查看啓動日誌
tail -f ~/logs/rocketmqlogs/namesrv.log
- 啓動Broker
# 1.啓動Broker
nohup sh bin/mqbroker -n localhost:9876 &
# 2.查看啓動日誌
tail -f ~/logs/rocketmqlogs/broker.log
-
問題描述:
RocketMQ默認的虛擬機內存較大,啓動Broker如果因爲內存不足失敗,需要編輯如下兩個配置文件,修改JVM內存大小
# 編輯runbroker.sh和runserver.sh修改默認JVM大小
vi runbroker.sh
vi runserver.sh
- 參考設置:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
2.4 測試RocketMQ
2.4.1 發送消息
# 1.設置環境變量
export NAMESRV_ADDR=localhost:9876
# 2.使用安裝包的Demo發送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
2.4.2 接收消息
# 1.設置環境變量
export NAMESRV_ADDR=localhost:9876
# 2.接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
2.5 關閉RocketMQ
# 1.關閉NameServer
sh bin/mqshutdown namesrv
# 2.關閉Broker
sh bin/mqshutdown broker