RocketMQ 的整体架构?
RocketMQ 面试题发布于
一、四大角色
- Producer:消息生产者。
- Consumer:消息消费者,支持 Push/Pull 两种模式。
- NameServer:路由注册中心,无状态,可集群部署,节点间不通信。
- Broker:消息存储与转发,可主从部署。
二、工作流程
- NameServer 启动,Broker 启动后向所有 NameServer 注册路由信息并保持心跳。
- Producer 从 NameServer 获取 Topic 的路由信息,选择队列发送消息。
- Broker 存储消息,Consumer 从 Broker 拉取消息消费。
三、为什么用 NameServer 而不用 ZooKeeper
- NameServer 轻量、无状态、启动快。
- 各 NameServer 独立,互不依赖,可用性更高。
- Broker 向所有 NameServer 广播,保证路由一致。