使用限制

更新时间:
复制 MD 格式

云消息队列 RabbitMQ 版对集群、字符及TPS流量峰值进行了限制,您在使用云消息队列 RabbitMQ 版时注意不要超过相应的限制值,以免程序出现异常。

集群限制

  • 此表格中各项限制为最新版本实例;

  • 如果用户实例某项限制与表格不符合,可能不是最新版本实例造成,详细请提工单咨询,调整时有如下限制:

    • 老架构实例不支持调整:实例 ID 为纯数字,或者 vpc 域名不是 mq.amqp.aliyuncs.com 结尾的实例,不支持对下列各项限制进行调整。

限制项

Serverless系列实例

预付费系列实例

共享

独享

企业版

铂金版

专业版

预留+弹性/按累积量

预留+弹性

单实例的Vhost数量

200

2000

200

4096

200

单实例的Exchange数量

6000

10000

6000

80000

6000

单实例的Binding数量

2万

2万

2万

无

2万

单实例可创建的Queue数量

6000

10000

6000

80000

6000

单实例的Connection数量

最大连接数为1万。

最大连接数为2万。

根据实例规格购买。

单实例有2000的免费额度,最大连接数为1万。

根据实例规格购买。

单实例有5万的免费额度,最大连接数为10万。

等于Queue数量×4。

单实例的Connection数量取值范围为[1000,5000]。

单Exchange绑定的Queue数量

256

256

可提交工单定制需求。定制后实例不可降配到共享集群。

256

256

如需定制,请联系阿里云技术支持。

256

单Queue的Consumer数量

等于Queue数量×4。

单Queue的Consumer数量取值范围为[800,5000]

无

等于Queue数量×4。

单Queue的Consumer数量取值范围为[800,5000]

无

等于Queue数量×4。

单Queue的Consumer数量取值范围为[50,5000]。

单Connection的Channel数量

2000

3000

单Connection的Channel数量取值范围为Min[Queue数量,2048]。

  • 若Queue数量小于2048,则Channel数量限制值为Queue的数量。

  • 若Queue数量大于等于2048,则Channel数量限制值为2048。

3000

单Connection的Channel数量取值为64或Queue数量。

  • 如果Queue数量小于或等于64,则单Connection的Channel数量等于64。

  • 如果Queue数量大于64,则单Connection的Channel数量等于Queue数量。

消息大小

10 MB

50 MB

10 MB

(注:青岛、日本、呼和浩特地域及2025年5月1日前创建的其他地域实例为 1 MB)

50 MB

(注:青岛、日本、呼和浩特地域及2025年5月1日前创建的其他地域实例为 3 MB)

64 KB

延时消息最大延时时间

7天

7天

可提交工单定制需求。定制后实例不可降配到共享集群。

7天

7天

如需定制,请联系阿里云技术支持。

24小时

消息最大保留时间

3天

3天

3天

3天

3天

最大投递次数

16

16

16

64

16

消费超时时间

最大值:3小时

默认值:5分钟

最大值:12小时

默认值:30分钟

最大值:3小时

默认值:5分钟

最大值:12小时

默认值:30分钟

最大值:10分钟

默认值:1分钟

说明

云消息队列 RabbitMQ 版对消息 Header 帧的大小限制为 32 KB,且该限制不可调整。建议将大消息内容放置在消息 Body 中发送,以避免触发 Header 帧大小限制。

单 Channel 的 basicQos(即 prefetch count)最大值为 100,且该限制不可调整,适用于所有实例类型。此限制用于避免未确认消息(Unacked Message)堆积过多导致内存压力过大,从而保障系统的稳定性与性能。设置 prefetch count 时请勿超过此上限,否则可能导致 Qos 限制生效异常。

字符限制

限制项

限制值

Queue名称

  • 只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。

  • ⻓度限制1~255字符。

Exchange名称

  • 只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。

  • ⻓度限制1~255字符。

Vhost名称

  • 只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。

  • ⻓度限制1~255字符。

Binding Key

  • 普通类型

    • 只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。

    • ⻓度限制1~255字符。

  • Topic类型

    • 只能包含字母、数字、短划线(-)、下划线(_)、星号(*)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。

    • 长度限制1~255字符。

    • 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。

Consumer Tag

  • 只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。

  • ⻓度限制1~255字符。

Message ID

  • 只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)、冒号(:)。

  • ⻓度限制1~255字符。

限流阈值

实例总TPS限流阈值

实例系列

Serverless系列实例

预付费系列实例

规格

共享

独享

未开启弹性TPS

开启弹性TPS

预留+弹性/按累积量

预留+弹性

企业版

铂金版

专业版

企业版

铂金版

专业版

限流阈值

最大5万次/秒

基础TPS流量峰值规格的2倍

基础TPS流量峰值规格

基础TPS流量峰值规格的2倍,最大5万次/秒

基础TPS流量峰值规格的2倍,最大5万次/秒

基础TPS流量峰值规格的1.5倍

单节点SendMessage TPS限流阈值

服务端会在实例维度限制每个后台服务节点上SendMessage的TPS值,限流阈值如下所示:

限制

Serverless系列实例

预付费系列实例

共享

独享

企业版

铂金版

专业版

按累积量

预留+弹性

预留+弹性

限流阈值

2.5万次/秒

2.5万次/秒

无

2.5万次/秒

无

2.5万次/秒

单接口的限流阈值

限制项

限制项接口

Serverless系列实例

预付费系列实例

共享

独享

企业版

铂金版

专业版

预留+弹性/按累积量

预留+弹性

单实例清Queue

purgeQueue

500 TPS

无

500 TPS

无

500 TPS

单实例创建Exchange

exchangeDeclare

500 TPS

无

500 TPS

无

500 TPS

单实例删除Exchange

exchangeDelete

500 TPS

无

500 TPS

无

500 TPS

单实例创建Queue

queueDeclare

500 TPS

无

500 TPS

无

500 TPS

单实例删除Queue

queueDelete

500 TPS

无

500 TPS

无

500 TPS

单实例创建Binding

queueBind

500 TPS

无

500 TPS

无

500 TPS

单实例删除Binding

queueUnbind

500 TPS

无

500 TPS

无

500 TPS

单实例恢复消息

basicRecover

500 TPS

无

500 TPS

无

500 TPS

单实例重入Queue消息

  • basicReject(requeue=true)

  • basicNack(requeue=true)

20 TPS

无

20 TPS

无

20 TPS

常见问题

企业版实例是否支持单独扩展 Queue 数量上限?

当前企业版实例的单实例 Queue 数量上限为 6000,该限制为产品版本级规格限制,暂不支持在当前版本内单独扩展至 10000。

如需解决 Queue 数量不足的问题,可参考以下方案:

  1. 优化 Queue 使用:合并可合并的 Queue,通过 Topic Exchange 路由策略减少 Queue 数量,或清理无消费者且不再使用的历史 Queue。

  2. 拆分实例:若业务允许,将部分业务拆分到新的企业版实例,分散 Queue 使用量。

报错 The channelMax limit is reached 如何处理?

当单个 Connection 下的 Channel 数量达到当前实例版本的 channelMax 限制时,会触发此报错。

问题原因:单个 Connection 下的 Channel 数量超出了当前实例版本的上限(channelMax)。Channel 数量限制因实例版本不同而有所差异,例如专业版的 Channel 数量与 Queue 数量关联,企业版 Channel 数量上限为 Queue 数量与 2048 的较小值。

解决方法:

  1. 确认当前 RabbitMQ 实例的版本(专业版/企业版/铂金版等)。

  2. 查阅本文档「集群限制」表格中「单 Connection 的 Channel 数量」行,了解当前版本的具体 channelMax 限制值。

  3. 根据业务需求评估是否需要升级实例版本,以支持更多的 Channel 并发量。

云消息队列 RabbitMQ 版是否支持开放 15672 管理端口及自定义配置?

云消息队列 RabbitMQ 版不支持开放 15672 管理端口,也不支持任何自定义配置。云上实例仅默认开放 5672 端口用于 AMQP 协议通信,该限制适用于所有实例类型(Serverless、独享、共享、预付费等)。如果您需要通过管理控制台端口查看集群状态或调整自定义参数,暂时无法通过开放该端口实现。

RabbitMQ 实例是否支持迁移资源组?

云消息队列 RabbitMQ 版实例当前不支持资源组功能,控制台无相关配置入口,暂不支持资源组迁移或更换资源组(ResourceGroup)。

购买 RabbitMQ 实例需要占用多少个交换机 IP 地址?

购买云消息队列 RabbitMQ 版实例通常需要配置两个交换机(vSwitch),每个交换机至少需预留 20 个 IP 地址,因此总共需要占用 40 个 IP 地址。规划网络时请预留足够的 IP 地址,避免因 IP 地址不足导致实例创建失败。