RocketMQ
RocketMQ是阿 里开源的一款非 常优秀中间件产品,脱胎于阿里的另一款队列技术MetaQ,后捐赠给Apache基金会作为一款孵化技术, 仅仅经历了一年多的时间就成为Apache基金会的顶级项目。并且它现在已经在阿里内部被广泛的应用,并且经受住了多次双十一的这种极致场景的压力(2017年的双十一,RocketMQ流转的消 息量达到了万亿级,峰值TPS达到5600万)。
准备工作
下载RocketMQ
环境需求,JDK1.8
1,RocketMQ安装步骤
下载地址
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.5.1/rocketmq-all-4.5.1-bin-release.zip
本教程以二进制包方式安装
1,解压安装包
2,进入安装目录
-
bin
:启动脚本,包括 shell 脚本和 CMD 脚本 -
conf
:实例配置文件 ,包括 broker 配置文件、logback 配置文件等 -
lib
:依赖 jar 包,包括Netty、commons-lang、FastJSON等3,
3,启动RocketMQ
RocketMQ
默认的虚拟机内存较大,启动 Broker
或者 NameServer
可能会因为内存不足而导致失败,所以需要编辑如下两个配置文件,修改 JVM 内存大小
# 编辑 runbroker.sh 和 runserver.sh 修改默认 JVM 大小
$ vi bin/runbroker.sh
# 参考设置
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
$ vi bin/runserver.sh
# 参考设置
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
3.1 启动nameserver
# 1.启动NameServer
nohup sh bin/mqnamesrv &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log
3.2 启动broker
# 1.启动Broker
nohup sh bin/mqbroker -n localhost:9876 &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log
使用jps查看
四,测试Rocketmq
发送消息
# 1.设置环境变量
export NAMESRV_ADDR=localhost:9876
# 2.使用安装包的Demo发送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
接收消息
# 1.设置环境变量
export NAMESRV_ADDR=localhost:9876
# 2.接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
关闭RocketMQ
# 1.关闭NameServer
sh bin/mqshutdown namesrv
# 2.关闭Broker
sh bin/mqshutdown broker