中间件速查手册
消息队列路由中心

NameServer 是什么?

轻量无状态的路由注册中心,告诉你该找哪个 Broker

类比:查「这个快递该去哪个驿站」的地图

它做什么

Broker 每 30 秒向所有 NameServer 上报心跳和 Topic 路由信息;客户端发消息前先问 NameServer 拿路由,然后缓存 30 秒。

NameServer 节点之间互不通信、不选举,每个都是完整数据的只读副本,所以随便挂几个都不影响可用性。

和 ZooKeeper 的对比

Kafka 老架构用 ZooKeeper 存元数据、做 Controller 选举,组件重、运维复杂。RocketMQ 把这件事做薄:NameServer 只做路由,不做选举,部署就是起几个进程。

Kafka 3.x 的 KRaft 模式也是在往「去掉外部依赖」的方向走。

常见故障

NameServer 全挂时,已在运行的客户端因为缓存了路由还能继续工作约 30 秒,但新客户端无法启动。所以生产至少部署 2~3 个节点。

它出现在这些中间件里

相关概念