RokcetMQ各角色介绍
1. Producer: 消息的发送者
2. Consumer: 消息的接受者
3. Broker:暂存和传输消息
4. NameServer:管理Broker
5. Topic:区分消息的种类, 一个发送者可以发送消息给一个或多个Topic, 一个消息的接收者可以订阅一个或多个Topic消息
6. Message Queue: 相当于是Topic的分区,用于并发发送和接收消息
1.1 准备工作
RocketMQ 版本 4.4.0 RocketMQ-4.4.0-Release
1.2 环境要求
- Linux64位系统
- JDK1.8(64位)
2.1 RocketMQ 安装 (使用二进制安装)
默认的安装目录 /user/local/rocketmq 需要自己建立
wegt https://archive.apache.org/dist/rocketmq/4.4.0/rocketmq-all-4.4.0-bin-release.zip
下载成功之后可以查看目录:
cd usr/local/rocketmq & ls
这里简单的介绍一下常用的目录
- bin 启动脚本, 包括shell脚本和CMD脚本
- conf 示例配置文件, 包括borker配置文件,logback配置文件等
- lib 依赖jar包 包括Netty, commons-lang, fastJSON等
2.2 启动 RocketMQ
1. 首先进行配置文件的修改, 因为默认的配置比较大
cd /usr/local/rocketmq/bin
vi runbroker.sh
vi runserver.sh
#建议修改为
JAVA_OPT='${JAV A_OPT} -server -Xms256m =-Xmx256m -Xmn256m -XX:Metaspecesize=128m -XX:MaxMetaspaceSize=320m'
2. 启动NameServer服务
#1.后台启动 NameServer
nohup sh mqnamesrv &
#2.查看日志,判断是否启动成功
tail -f ~/logs/rocketmqlogs/namesrv.log
3. 后台启动Broker服务
#1.启动broker
nohup sh mqbroker -n localhost:9876 &
#2.查看启动日志
tail -f ~/logs/rocketmqlogs.broker.log
2.3 测试RocketMQ
发送消息
#1 设置环境变量
export NAMESRV_ADDR=localhost:9876
#2 使用安装包中的快速Demo发送消息
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
接收消息
#1.设置环境变量
export NAMESRV_ADDR=localhost:9876
#2.接收消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
3.1 关闭RocketMQ
#1. 关闭NameServer服务
sh mqshutdown namesrv
#2. 关闭 Broker
sh mqshutdown broker