解压后的目录
benchmark 是一些demo 方便测试
bin:可执行文件
conf:配置文件
lib:依赖的jar
启动rocketmq
01 启动namesrv
启动namesrv
1 nohup sh bin/mqnamesrv &
查看启动日志
2 tail -f ~/logs/logs/namsrv.log
启动broker
01 启动broker
nohup sh mqbroker -n localhost:9876 &
02 查看日志
如果没启动成功
关闭rocketmq
sh shutdown namesrv
搭建rocketmq 集群
Producer 发送消息
通信架构
NameSrv 无状态 之间不需要同步消息 可以集群部署 节点之间无需同步消息
broker : 分为主从节点 主节点 写操作 从节点 读消息
broke 区分主从
通过brokerId分主从 brokerName分组
id 是0 代表主节点 大于0 从节点 master 可以部署多个 每个broker和Namesrv 集群中的所有节点建立长连接 定期注册 Topic 信息到namsrrv
消息生产者(product) 与NameSrv 中的其中一个节点随机选择一个 建立长连接 ,定期从NameSrv 获取Topic路由信息 并且向提供Topic的master节点 建立长连接 定时发送心跳 Product 之间无状态 可以集群部署
consume 与NameSrv 集群中的其中一个节点 建立长连接 定期从 namesrv 获取Topic的路由信息 ,并向 提供Topic服务的Master slave 建立长连接 定时向Master Slave 发送心跳信息 ,Consume可以从master或slave 订阅消息