使用限制

更新时间:
复制 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

QueueConsumer数量

等于Queue数量×4。

QueueConsumer数量取值范围为[800,5000]

等于Queue数量×4。

QueueConsumer数量取值范围为[800,5000]

等于Queue数量×4。

QueueConsumer数量取值范围为[50,5000]。

ConnectionChannel数量

2000

3000

ConnectionChannel数量取值范围为Min[Queue数量,2048]。

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

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

3000

ConnectionChannel数量取值为64Queue数量

  • 如果Queue数量小于或等于64,则单ConnectionChannel数量等于64。

  • 如果Queue数量大于64,则单ConnectionChannel数量等于Queue数量。

消息大小

10 MB

50 MB

10 MB

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

50 MB

(注:青岛、日本、呼和浩特地域及202551日前创建的其他地域实例为 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 帧大小限制。

字符限制

限制项

限制值

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限流阈值

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

限制

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 并发量。