0.前言
在微服務架構逐漸成為主流的今天,消息隊列如同數字世界的快遞員,承擔著系統間高效通信的重要使命。
Apache RocketMQ 自誕生以來,因其架構簡單、業務功能豐富、具備極強可擴展性等特點被眾多企業開發者以及云廠商廣泛采用。歷經十余年的大規模場景打磨,RocketMQ 已經成為業內共識的金融級可靠業務消息首選方案,被廣泛應用于互聯網、大數據、移動互聯網、物聯網等領域的業務場景。
1.本地部署RockerMQ5.0
系統要求:
64位操作系統,推薦 Linux/Unix/macOS
64位 JDK 1.8+
下載安裝安裝包:
二進制包下載地址:https://dist.apache.org/repos/dist/release/rocketmq/5.3.1/rocketmq-all-5.3.1-bin-release.zip
解壓安裝包:
解壓目錄如下
啟動NameServer:
到解壓目錄的bin目錄下,輸入命令啟動NameServer
nohup sh mqnamesrv &
驗證NameServer是否啟動成功
tail -f ~/logs/rocketmqlogs/namesrv.log
我們可以在namesrv.log 中看到?'The Name Server boot success..',?表示NameServer 已成功啟動。
啟動Broker和Proxy:
NameServer成功啟動后,我們啟動Broker和Proxy。這里我們使用 Local 模式部署,即 Broker 和 Proxy 同進程部署。5.x 版本也支持 Broker 和 Proxy 分離部署以實現更靈活的集群能力。
到bin目錄下輸入命令啟動broker
nohup sh mqbroker -n localhost:9876 --enable-proxy &
輸入命令,驗證broker是否啟動成功
tail -f ~/logs/rocketmqlogs/proxy.log
我們可以在 proxy.log 中看到“The broker[brokerName,ip:port]?boot success..”,這表明 broker 已成功啟動。
停止服務:
到bin目錄下輸入命令停止服務
sh mqshutdown broker
sh mqshutdown namesrv
至此rockertMQ5.0本地部署完成。
2.docker部署
拉取RocketMQ鏡像:
docker pull apache/rocketmq:5.3.1
創建容器共享網絡:
RocketMQ 中有多個服務,需要創建多個容器,創建 docker 網絡便于容器間相互通信。
docker network create rocketmq
啟動NameServer:
輸入命令啟動NameServer
docker run -d --name rmqnamesrv -p 9876:9876 --network rocketmq apache/rocketmq:5.3.1 sh mqnamesrv
驗證 NameServer 是否啟動成功
docker logs -f rmqnamesrv
看到?'The Name Server boot success..',?表示NameServer 已成功啟動。
啟動 Broker+Proxy:
NameServer 成功啟動后,我們啟動 Broker 和 Proxy。
配置 Broker 的IP地址
echo "brokerIP1=127.0.0.1" > broker.conf
啟動 Broker 和 Proxy
docker run -d \
--name rmqbroker \
--network rocketmq \
-p 10912:10912 -p 10911:10911 -p 10909:10909 \
-p 8080:8080 -p 8081:8081 \
-e "NAMESRV_ADDR=rmqnamesrv:9876" \
-v ./broker.conf:/home/rocketmq/rocketmq-5.3.1/conf/broker.conf \
apache/rocketmq:5.3.1 sh mqbroker --enable-proxy \
-c /home/rocketmq/rocketmq-5.3.1/conf/broker.conf
驗證 Broker 是否啟動成功
docker exec -it rmqbroker bash -c "tail -n 10 /home/rocketmq/logs/rocketmqlogs/proxy.log"
看到?'The broker boot success..',?表示 Broker 已成功啟動
停止容器:
停止 NameServer 容器
docker stop rmqnamesrv
停止 Broker 容器
docker stop rmqbroker
3.管理工具RocketMQ Dashboard部署
RocketMQ Dashboard?是 RocketMQ 的管控利器,為用戶提供客戶端和應用程序的各種事件、性能的統計信息,支持以可視化工具代替 Topic 配置、Broker 管理等命令行操作。
方式一源碼安裝
到github下載源碼:https://github.com/apache/rocketmq-dashboard
使用IDEA打開,使用maven編譯
修改配置文件端口號,防止8080端口沖突
直接運行APP.calss 方法,打開瀏覽器訪問:http://127.0.0.1:9999/
方式二docker安裝:
拉取?rocketmq-dashboard?鏡像
docker pull apacherocketmq/rocketmq-dashboard:latest
運行?rocketmq-dashboard
docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876" -p 9999:8080 -t apacherocketmq/rocketmq-dashboard:latest
namesrv.addr:port?替換為?rocketmq?中配置的 nameserver 地址:端口號。
瀏覽器訪問:http://127.0.0.1:9999/
儀表盤功能介紹如下:
4.最后
至此rocketMQ5.0的部署安裝完成,詳情可到官網查看:https://rocketmq.apache.org/