docker部署RocketMQ
RocketMQ是阿里巴巴2016年MQ中间件,使用java语言开发,在阿里内部,RocketMQ承接了例如“双11”等高并发场景的消息流转,能够处理亿万级别的消息处理。
RocketMQ各角色介绍
Producer:消息的发送者
Consumer:消息的接收者
Broker:暂存和传输消息,如:邮局
NameServer:管理Broker
Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者也可以订阅一个或多个Topic消息
Message Queue:相当于是Topic的分区;用于并行发送和接收消息
操作步骤
一、系统优化
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭selinux
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
二、安装RocketMQ
dnf -y install docker
docker search rocketmq
docker pull rocketmqinc/rocketmq
docker images
三、启动NameServer
mkdir -p /home/namesrv/logs
mkdir -p /home/namesrv/store
docker run -d -p 9876:9876 --name namesrv -v /home/namesrv/logs:/root/logs -v /home/namesrv/store:/root/store rocketmqinc/rocketmq:latest sh mqnamesrv
四、启动Broker
mkdir -p /home/broker/logs
mkdir -p /home/broker/store
docker run -d -p 10911:10911 -p 10909:10909 --name broker --link namesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -v /home/broker/logs:/root/logs -v /home/broker/store:/root/store rocketmqinc/rocketmq:latest sh mqbroker -n namesrv:9876