主要角色:
- NameServer:服务发现与配置管理
- 服务发现
- 路由
- 配置信息管理
- Broker:
- Broker Master
- Broker Slave
- Producer:生产者
- Consumer:消费者
安装
#!/bin/bash
# 下载RocketMQ二进制包(20MB)
wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip
# 解压RocketMQ安装包
unzip rocketmq-all-4.9.4-bin-release.zip
cd rocketmq-all-4.9.4-bin-release/
# ls
# benchmark/ bin/ conf/ lib/ LICENSE NOTICE README.md
#
# ls bin conf
# bin:
# cachedog.sh* mqbroker* mqnamesrv* play.sh* setcache.sh*
# cleancache.sh* mqbroker.cmd mqnamesrv.cmd README.md startfsrv.sh*
# cleancache.v1.sh* mqbroker.numanode0* mqshutdown* runbroker.cmd tools.cmd
# dledger/ mqbroker.numanode1* mqshutdown.cmd runbroker.sh* tools.sh*
# mqadmin* mqbroker.numanode2* os.sh* runserver.cmd
# mqadmin.cmd mqbroker.numanode3* play.cmd runserver.sh*
#
# conf:
# 2m-2s-async/ 2m-noslave/ dledger/ logback_namesrv.xml plain_acl.yml
# 2m-2s-sync/ broker.conf logback_broker.xml logback_tools.xml tools.yml
启动
# 启动 NameServer
nohup sh bin/mqnamesrv &
# 验证 NameServer 服务是否正常运行
# tail -f ~/logs/rocketmqlogs/namesrv.log
# # The Name Server boot success...
# 启动 Broker
nohup sh bin/mqbroker -n localhost:9876 &
# 验证 Broker 服务是否正常运行
# tail -f ~/logs/rocketmqlogs/broker.log
# # The broker[broker-a,192.169.1.2:10911] boot success...
echo "RocketMQ installed successfully."
停止/重启服务
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
调整配置
- 限制内存使用
Systemd
vim /etc/systemd/system/rocketmq-namesrv.service
vim /etc/systemd/system/rocketmq-broker.service
# 配置启动命令、环境变量、工作目录、限制资源使用、设置启动顺序、依赖关系等选项
systemctl daemon-reload
然后就可以执行 start, stop, restart, status, reload, enable, disable 等操作了。
控制台(Web UI)
可以通过官方的 rocketmq-dashboard(SpringBoot + React)管理。
最简单的方式就是运行在 Docker 中:
docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest
集群
https://cloud.tencent.com/developer/article/1857491