创建 Topic 时,已经设置了队列数,后续可以通过观测消费的流量数据,及时根据业务需求增加 Topic 的队列数量,以达到更高的消费性能,解决消费瓶颈。
背景信息
消息队列 RocketMQ版目前支持 4.x 和 5.x 两个版本实例,不同版本实例在为 Topic 设置队列数时存在差异,请查看对应版本的队列数设置说明。
在 4.x 版本实例中创建 Topic 时,请参考以下说明设置队列数:
- 全局顺序类型的 Topic 队列数默认为 1;
- 其他类型 Topic 的队列数和计算规格有关,n3 及以下规格的队列数默认为 6,n3 以上规格的队列数默认是 broker 组数的两倍。
- 队列数建议设置为计算节点数的倍数,否则可能造成不同 Broker 之间数据不均衡。例如规格 rocketmq.n3.x2.medium 的计算节点数为 3,队列数建议设置为 3 的倍数,即 3、6、9 等。
在 5.x 版本实例中创建 Topic 时,请参考以下说明设置队列数:
- 全局顺序类型的 Topic 队列数默认为 1。
- 其他类型 Topic 的队列数默认是 broker 组数的两倍。
- 非顺序场景性能不受队列个数影响,更多队列仅用于提升顺序消费并发性能。
注意事项
- 实例中所有 Topic 的总队列数量与当前实例规格有关。每个实例的队列数量限制请参考产品规格。
- 成功创建 Topic 之后,队列数量只能调大,不能调小,请合理规划队列数量。
- 升级实例配置后,需要同步修改 Topic 的分区数量,以使各个 Topic 达到更高的消费性能。
前提条件
实例当前的可用队列数不为 0。您可以在实例的详情页中查看可用队列数,详细说明请参考查看实例详情。
如果可用队列数为 0,表示已创建的 Topic 对应队列数之和已达到此实例规格的最大队列数量,则无法创建新的 Topic,建议删除 Topic 之后重试。
操作步骤
- 登录消息队列 RocketMQ版控制台。
- 在实例列表页面,单击目标实例名称。
- 设置队列数量。
您可以通过以下两个入口设置队列数量:
- Topic 列表中设置:
- 在Topic管理页签中找到需要调整队列数量的 Topic。
- 在其对应的操作列单击设置队列数。
- 输入新的队列数量,并单击确定。
- Topic 详情页中设置:
- 在Topic管理页签中找到需要调整队列数量的 Topic。
- 单击 Topic 名称,进入Topic详情页面。
- 在基本信息区域的队列数一栏中,单击设置队列数。
- 输入新的队列数量,并单击确定。