配额与限制

云消息队列 RocketMQ 版对实例的资源配额、实例规格和相关参数进行了约束和规范,您在使用云消息队列 RocketMQ 版时不要超过对应的限制值,避免应用出现异常。

参数限制

以下参数中各资源的命名及备注等限制值不支持调整,请严格按照规范设置,避免因出现特殊字符或长度超限导致系统处理异常。

参数

限制值

说明

实例名称

  • 字符限制:仅支持中文、字母a~z或A~Z、数字0~9和下划线(_)。

  • 长度限制:1~128个字符。

无。

Topic名称

  • 字符限制:支持字母a~z或A~Z、数字0~9以及下划线(_)和短划线(-)。

  • 长度限制:1~60个字符。

系统保留字符:Topic名称不允许使用以下保留字符或含有特殊前缀的字符命名。

  • 保留字符

    • TBW102

    • BenchmarkTest

    • SELF_TEST_TOPIC

    • OFFSET_MOVED_EVENT

    • SCHEDULE_TOPIC_XXXX

    • RMQ_SYS_TRANS_HALF_TOPIC

    • RMQ_SYS_TRACE_TOPIC

    • RMQ_SYS_TRANS_OP_HALF_TOPIC

  • 特殊前缀

    • rmq_sys_

    • %RETRY%

    • %DLQ%

    • rocketmq-broker-

Topic命名应该尽量使用简短、常用的字符,避免使用特殊字符。特殊字符会导致系统解析出现异常,字符过长可能会导致消息收发被拒绝。

ConsumerGroup名称

  • 字符限制:支持字母a~z或A~Z、数字0~9以及下划线(_)和短划线(-)。

  • 长度限制:1~60个字符。

系统保留字符:ConsumerGroup不允许使用以下保留字符或含有特殊前缀的字符命名。

  • 保留字符

    • DEFAULT_CONSUMER

    • DEFAULT_PRODUCER

    • TOOLS_CONSUMER

    • FILTERSRV_CONSUMER

    • __MONITOR_CONSUMER

    • CLIENT_INNER_PRODUCER

    • SELF_TEST_P_GROUP

    • SELF_TEST_C_GROUP

    • CID_ONS-HTTP-PROXY

    • CID_ONSAPI_PERMISSION

    • CID_ONSAPI_OWNER

    • CID_ONSAPI_PULL

    • CID_RMQ_SYS_TRANS

  • 特殊字符

    • CID_RMQ_SYS_

    • CID_HOUSEKEEPING

无。

实例备注

  • 字符限制:仅支持中文、字母a~z或A~Z、数字0~9和下划线(_)。

  • 长度限制:1~256个字符。

无。

Topic备注

Group备注

ACL Credentials

  • 字符限制:AK(AccessKey ID)、SK(AccessKey Secret)和Token仅支持字母a~z或A~Z、数字0~9。

  • 长度限制:不超过1024个字符。

无。

请求超时时间

  • 默认值:3000毫秒。

  • 取值范围:该参数为客户端本地行为,取值范围不做限制。

请求超时时间是客户端本地同步调用的等待时间,请根据实际应用设置合理的取值,避免线程阻塞时间过长。

消息大小

不超过4 MB。

不涉及消息压缩,仅计算消息体body的大小。

消息传输应尽量压缩和控制负载大小,避免超大文件传输。若消息大小不满足限制要求,可以尝试分割消息或使用OSS存储,用消息传输URL。

消息自定义属性

  • 字符限制:所有可见字符。

  • 数量限制:每条消息最多可设置128个属性。

  • 长度限制:属性的Key和Value总长度不超过16 KB。

系统保留属性:不允许使用以下保留属性作为自定义属性的Key。

保留属性Key

  • TRACE_ON

  • MSG_REGION

  • KEYS

  • TAGS

  • DELAY

  • RETRY_TOPIC

  • REAL_TOPIC

  • REAL_QID

  • TRAN_MSG

  • PGROUP

  • MIN_OFFSET

  • MAX_OFFSET

  • BUYER_ID

  • ORIGIN_MESSAGE_ID

  • TRANSFER_FLAG

  • CORRECTION_FLAG

  • MQ2_FLAG

  • RECONSUME_TIME

  • UNIQ_KEY

  • MAX_RECONSUME_TIMES

  • CONSUME_START_TIME

  • POP_CK

  • POP_CK_OFFSET

  • 1ST_POP_TIME

  • TRAN_PREPARED_QUEUE_OFFSET

  • DUP_INFO

  • EXTEND_UNIQ_INFO

  • INSTANCE_ID

  • CORRELATION_ID

  • REPLY_TO_CLIENT

  • TTL

  • ARRIVE_TIME

  • PUSH_REPLY_TIME

  • CLUSTER

  • MSG_TYPE

  • INNER_MULTI_QUEUE_OFFSET

  • _BORNHOST

无。

MessageGroup

  • 字符限制:所有可见字符。

  • 长度限制:1~64字节。

MessageGroup是顺序消息的分组标识。一般设置为需要保证顺序的一组消息标识,例如订单ID、用户ID等。

消息发送重试次数

  • 默认值:3次。

  • 取值范围:无限制。

消息发送重试是客户端SDK内置的重试策略,对应用不可见,建议取值不要过大,避免阻塞业务线程。

如果消息达到最大重试次数后还未发送成功,建议业务侧做好兜底处理,保证消息可靠性。

消息消费重试次数

  • 默认值:16次。

  • 最大限制:不超过1000次。

消费重试次数应根据实际业务需求设置合理的参数值,避免使用重试进行无限触发。重试次数过大容易造成系统压力过量增加。

事务异常检查间隔

  • 默认值:60秒。

  • 取值范围:不支持自定义修改。

事务异常检查间隔指的是,半事务消息因系统重启或异常情况导致没有提交,生产者客户端会按照该间隔时间进行事务状态回查。

间隔时长不建议设置过短,否则频繁的回查调用会影响系统性能。

半事务消息第一次回查时间

  • 默认值:取值等于[事务异常检查间隔]

  • 最大限制:不超过1小时。

无。

半事务消息最大超时时长

  • 默认值:4小时。

  • 取值范围:不支持自定义修改。

半事务消息因系统重启或异常情况导致没有提交,生产者客户端会按照事务异常检查间隔时间进行回查,若超过半事务消息超时时长后没有返回结果,半事务消息将会被强制回滚。

您可以通过监控该指标避免异常事务。

定时消息最大间隔

  • 包年包月、按量付费标准版,Serverless标准版与专业版最大支持7天。

  • 包年包月、按量付费专业版,铂金版最大支持40天。

定时消息间隔时长建议使用小时级别的时间区间,避免长时间定时。

PushConsumer消费超时时长

  • 默认值:1分钟。

  • 取值范围:系统级配置,不支持修改。

PushConsumer消费超时时长由云消息队列 RocketMQ 版服务端统一控制。

超过消费超时时长消息还未处理完成,将被系统强制判定为消费失败并进行重试,因此可能会导致少量消息重复。

PushConsumer本地缓存

  • 默认值:

    • 最大缓存数量:1024条。

    • 最大缓存大小:64 M。

  • 取值范围:支持用户自定义设置,无限制。

消费者类型为PushConsumer时,为提高消费者吞吐量和性能,客户端会在SDK本地缓存部分消息。缓存的消息的数量和大小应设置在系统内存允许的范围内。

PushConsumer重试间隔时长

  • 默认值:

  • 取值范围:不支持自定义修改。

无。

PushConsumer消费并发度

  • 默认值:20个线程。

  • 取值范围:支持用户自定义设置,无限制。

无。

获取消息最大批次

  • 默认值:32条。

  • 取值范围:系统级配置,不支持修改。

消费者从服务端获取消息时,一次获取到最大消息条数。建议按照实际业务设置合理的参数值,一次获取消息数量过大容易在消费失败时造成大批量消息重复。

SimpleConsumer最大不可见时间

  • 默认值:用户必填参数,无默认值。

  • 取值范围:最小10秒;最大12小时。

消费不可见时间指的是消息处理+失败后重试间隔的总时长,建议设置时取值比实际需要耗费的时间稍微长一些。

消费者长轮询超时时间

取值范围:最小值5秒,最大值20秒。

支持用户在取值范围内自定义调整。

设置长轮询超时时间后,如果当前服务端无已就绪的消息,客户端请求会阻塞直到新消息到达或者超时时间到达。

消费者使用长轮询可以在消息量少的情况下大幅降低无效的空请求,降低客户端和服务端的压力。

资源配额

云消息队列 RocketMQ 版会根据生产环境的稳定性和运维经验限制部分操作的QPS和并发等指标。一般场景下这些配额指标都足够使用,如有特殊场景云消息队列 RocketMQ 版提供的额度不满足业务需求,您可以咨询云消息队列 RocketMQ 版技术支持进行处理。

限制项

限制值

说明

包年包月和按量付费实例

Serverless实例

单地域实例数

所有类型实例总数不超过1000个。

无。

单实例消息收发TPS

由购买的实例规格决定,具体限制值,请参见实例规格限制

弹性自适应

消息收发TPS体现当前实例的处理性能,实际超过该规格实例会被限流,请及时升级规格配置。

单实例Topic数量

由购买的实例规格决定,具体限制值,请参见实例规格限制

根据创建的Topic数量按量收费,具体计费信息,请参见Topic费用

从安全性和稳定性考虑,建议将不同业务拆分到不同实例中,避免所有业务集中在单个实例中。

单实例Group数量

由购买的实例规格决定,具体限制值,请参见实例规格限制

5000

从安全性和稳定性考虑,建议将不同业务拆分到不同实例中,避免所有业务集中在单个实例中。

消息保存时长

  • 最短24小时。

  • 最长720小时。

  • 最短24小时。

  • 最长720小时。

在存储成本可控范围内,建议尽量延长保存时长。消息保存时长越长,提供的问题排查周期和回溯窗口越长。

单消费者分组处理中消息的数量

不超过2500条。

不超过2500条。

消费者分组中处理中消息数量过多可能是消费者响应较慢,请及时关注并排查原因。

操作限制

云消息队列 RocketMQ 版是全托管免运维的PaaS服务,因此系统会在开源Apache RocketMQ的基础上,对部分高风险运维操作和部分功能进行限制。如有特殊需求,您可以咨询云消息队列 RocketMQ 版技术支持进行处理。

限制项

说明

Apache RocketMQ Admin工具兼容性

云消息队列 RocketMQ 版暂不支持使用Apache RocketMQ的Admin API以及CLI管理实例、Topic和Group资源。

若您有API管理需求,建议使用阿里云提供的OpenAPI。阿里云OpenAPI支持多语言SDK和CLI命令管理。

Apache RocketMQ Request-Reply消息

云消息队列 RocketMQ 版暂不支持发送Apache RocketMQ的Request-Reply消息。

Apache RocketMQ Streaming组件

云消息队列 RocketMQ 版暂不支持提供托管的Apache RocketMQ Streaming组件服务。您可以基于阿里云环境自行部署,或使用云消息队列 RocketMQ 版提供的消息集成功能实现轻量级的数据集成及计算。

Apache RocketMQ MQTT组件

云消息队列 RocketMQ 版暂不支持提供托管的Apache RocketMQ MQTT组件服务。建议您使用阿里云提供的云消息队列 MQTT 版服务,其功能更完整。

Apache RocketMQ EventBridge组件

云消息队列 RocketMQ 版暂不支持提供托管的Apache RocketMQ EventBridge组件服务。建议您使用阿里云的事件总线EventBridge服务,其功能更完整。

Apache RocketMQ-Connector组件

云消息队列 RocketMQ 版暂不支持提供托管的Apache RocketMQ-Connector组件服务。您可以使用云消息队列 RocketMQ 版提供的消息集成功能实现消息数据的流入和流出。

实例规格限制

  • 标准版主系列下所有实例、以及专业版主系列下单节点版实例不支持突发弹性计算能力,您需要提前规划好资源用量,避免高水位运行时出现突发流量超过规格限制,造成实例限流。

  • 单实例的Topic和Group配额是按照大规模生产环境实践所计算,满足绝大部分场景下的业务需求。建议您将业务按照部门和领域做实例拆分和隔离,避免将所有业务运行在单个实例中。

  • 消息收发计算TPS规格是按照普通消息类型、消息大小4 KB为基准计算消息收发之和。高级特性消息和大消息计算时需要乘以对应倍率,具体计算方式,请参见计算规格说明

  • 若您实际使用的消息收发TPS超过了购买的规格上限:

    • 如果实例开启了弹性TPS功能,则在[基础规格,弹性规格]区间内,实例可正常运行,且这部分规格需要按量收取弹性TPS费用;超过弹性能力上限后,实例还是会被限流。

      弹性TPS计费信息,请参见弹性TPS费用

    • 实例不支持或未开启弹性TPS功能,则云消息队列 RocketMQ 版对实例进行限流。

  • 若客户端与云消息队列 RocketMQ 版实例连接数过多时,服务端会消耗大量性能来维持客户端与服务端连接,会严重影响服务端稳定性。因此,建议您使用的客户端连接不要超过实例规格的上限值。

包年包月和按量付费实例规格上限

标准版实例规格

实例子系列

实例规格

消息收发基础规格TPS上限(次/秒)

消息收发规格外突发弹性TPS上限(次/秒)

连接数上限(个)

公网下行带宽(Mbps)

Topic免费配额(个)

Topic最大配额(个)

Group最大配额(个)

单节点版

rmq.s1.micro

500

不涉及

该规格不支持突发弹性能力。

2000

1~1000

支持自定义配置。

100

100

1000

集群高可用版

rmq.s2.2xlarge

2000

4000

300

rmq.s2.4xlar

4000

4000

rmq.s2.6xlarge

6000

6000

500

说明

若标准版中Topic和ConsumerGroup的最高规格(rmq.s2.6xlarge)仍无法满足您的业务需求,建议您升级至专业版并选择适合您的实例规格。

专业版实例规格

实例子系列

实例规格

消息收发基础规格TPS上限(次/秒)

消息收发规格外突发弹性TPS上限(次/秒)

连接数上限(个)

公网下行带宽(Mbps)

Topic免费配额(个)

Topic最大配额(个)

Group最大配额(个)

单节点版

rmq.p1.micro

500

不涉及

该规格不支持突发弹性能力。

2000

1~1000

支持自定义配置。

150

150

1500

集群高可用版

rmq.p2.4xlarge

4000

2000

4000

500

2000

rmq.p2.6xlarge

6000

3000

6000

rmq.p2.10xlarge

10000

5000

10000

1000

rmq.p2.20xlarge

20000

10000

10000

rmq.p2.50xlarge

50000

20000

14000

2000

rmq.p2.100xlarge

100000

30000

26000

rmq.p2.150xlarge

150000

50000

38000

说明

若专业版中Topic和ConsumerGroup的最高规格(rmq.p2.10xlarge或以上)仍无法满足您的业务需求,请提交工单咨询处理。

铂金版实例规格

实例子系列

实例规格

消息收发基础规格TPS上限(次/秒)

消息收发规格外突发弹性TPS上限(次/秒)

连接数上限(个)

公网下行带宽(Mbps)

Topic免费配额(个)

Topic最大配额(个)

Group最大配额(个)

集群高可用版

rmq.u2.10xlarge

10000

5000

10000

1~1000

支持自定义配置。

200

3000

4000

rmq.u2.20xlarge

20000

10000

10000

rmq.u2.40xlarge

40000

20000

10000

rmq.u2.100xlarge

100000

30000

26000

rmq.u2.150xlarge

150000

50000

38000

rmq.u2.200xlarge

200000

60000

50000

rmq.u2.400xlarge

400000

100000

54000

rmq.u2.600xlarge

600000

200000

80000

rmq.u2.1000xlarge

1000000

300000

134000

说明

若铂金版中Topic和ConsumerGroup的规格无法满足您的业务需求,请提交工单咨询处理。

Serverless实例规格上限

实例主系列

实例规格

消息收发TPS上限(次/秒)

连接数上限(个)

公网流量

Topic最大配额(个)

Group最大配额(个)

标准版

rmq.s3.nxlarge

50000

10000

无上限,以实际使用量计算费用

5000

5000

专业版

rmq.p3.nxlarge

50000

超过50000次/秒后,支持分钟级自适应弹性

30000

无上限,以实际使用量计算费用

5000

5000