RocketMQ小记
Rocketmq
https://rocketmq.apache.org/docs/quick-start/
github: https://github.com/apache/rocketmq
Apache RocketMQ 架构
- Name Server :是一个无状态节点,可集群部署,在消息队列 MQ 中提供命名服务,更新和发现 Broker 服务
- Broker : 消息中转角色,负责存储、转发消息。 分为 Master Broker 和 Slave Broker ,一个 Master Broker 可以对应多个 Slave Broker 。Broker 启动后将自己注册到 Name Server 。随后每30秒定期向 Name Server 上报 Topic 路由信息。
- 生产者: 与 Name Server 集群中的其中一个节点(随机)建立长连 。 定期从Name Server 读取 Topic 路由。并向提供 Topic 服务的 Master Broker 建立长链接 。 定时向Master Broker 发送心跳
- 消费者: 与 Name Server 集群中的其中一个节点建立长链接。定期中Name Server 拉去Topic 路由信息。 并向提供 Topic 的Master Broker、slave Broker 建立长连。且定时向 Master Broker 、Slave Broker 发送心跳。 消费者即可以从 Master Broker 订阅消息,也可以从 Slave Broker 订阅消息,订阅规则由 Broker 决定。