RocketMQ 消息队列原理
RocketMQ 的核心架构主要围绕 NameServer 和 Broker 展开。NameServer 采用多节点部署形成高可用集群,它并不存储消息,而是负责记录 Broker 的路由信息。每一个 Broker 都会主动向 NameServer 上报自身状态,由 NameServer 进行统一管理。
在生产端,Producer 需要发送消息时,会先询问 NameServer 应该将数据存储到哪个 Broker。NameServer 返回对应的路由信息后,Producer 直接将消息写入指定的 Broker。
消费端同理,Consumer 在消费消息前,也会向 NameServer 查询消息所在的 Broker 地址。拿到路由信息后,Consumer 直接连接目标 Broker 拉取并处理数据。
此外,Broker 层面还支持主从复制机制,这是保障数据可靠性和服务高可用的重要基础。理解这套交互流程,对于应对 DevOps 或 SRE 相关的技术面试至关重要。

