RocketMQ是大型架构的核心,下面我重点详解RocketMQ集群扩容@mikechen
RocketMQ 集群扩容
RocketMQ 集群的扩容主要分为两部分:Broker 扩容 和 NameServer 扩容。

Broker 扩容,添加新 Master(或带 Slave 的组),这是最常见的水平扩容,用于提升写/读能力。
NameServer 负责存储 Broker 的路由信息,并为客户端提供服务发现功能。
NameServer 本身是无状态的,扩容非常简单,可以随时增加或减少。
NameServer 扩容
什么时候需要扩 NameServer?
路由请求 QPS 高;
Broker / Producer / Consumer 数量多;

扩容流程:
直接新增 NameServer 实例。
修改客户端配置,指向更多 NameServer。
# 所属集群名称(必须与现有集群一致) brokerClusterName=your-cluster-name # 新 Broker 的名称(建议唯一,如 broker-c;如果加入现有组,可复用如 broker-a,但 brokerId 不同) brokerName=broker-c # 对于新 Master 组,使用新名称;如果扩展现有组,可复用 # Master 为 0(如果是 Slave,>0 如 1) brokerId=0 # NameServer 地址(所有现有 NameServer,用;分隔) namesrvAddr=ns1:9876;ns2:9876 # 其他推荐参数 autoCreateTopicEnable=false # 生产环境关闭自动创建 Topic listenPort=10911 # 默认端口
Broker 扩容
基本流程是:新增机器 → 拷贝或编写新的 broker.conf。

注意修改 :brokerName、brokerId、端口、存储路径等→ 启动新的 Broker。
nohup sh bin/mqbroker -c conf/broker.conf -n "NameServer地址:端口" &
mikechen睿哥
10年+一线大厂架构实战专家,就职于阿里、淘宝等一线大厂,操盘多个亿级大厂核心项目。