云消息队列 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备注
客户端EndPoint
  • 默认值:rmq-cn-xxx.[regionId].rmq.aliyuncs.com:8080
  • 限制范围:无。
无。
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小时。
  • 取值范围:不支持自定义修改。
半事务消息因系统重启或异常情况导致没有提交,生产者客户端会按照事务异常检查间隔时间进行回查,若超过半事务消息超时时长后没有返回结果,半事务消息将会被强制回滚。

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

定时消息最大间隔
  • 默认值:24小时。
  • 取值范围:不支持自定义修改。
定时消息间隔时长建议使用小时级别的时间区间,避免长时间定时。
PushConsumer消费超时时长
  • 默认值:3小时。
  • 取值范围:系统级配置,不支持修改。
PushConsumer消费超时时长由云消息队列 RocketMQ 版服务端统一控制。

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

PushConsumer本地缓存
  • 默认值:
    • 最大缓存数量:1024条。
    • 最大缓存大小:64 M。
  • 取值范围:支持用户自定义设置,无限制。
消费者类型为PushConsumer时,为提高消费者吞吐量和性能,客户端会在SDK本地缓存部分消息。缓存的消息的数量和大小应设置在系统内存允许的范围内。
PushConsumer重试间隔时长
  • 默认值:
  • 取值范围:不支持自定义修改。
无。
PushConsumer消费并发度
  • 默认值:20个线程。
  • 取值范围:支持用户自定义设置,无限制。
无。
获取消息最大批次
  • 默认值:32条。
  • 取值范围:系统级配置,不支持修改。
消费者从服务端获取消息时,一次获取到最大消息条数。建议按照实际业务设置合理的参数值,一次获取消息数量过大容易在消费失败时造成大批量消息重复。
SimpleConsumer最大不可见时间
  • 默认值:用户必填参数,无默认值。
  • 取值范围:最小10秒;最大12小时。
消费不可见时间指的是消息处理+失败后重试间隔的总时长,建议设置时取值比实际需要耗费的时间稍微长一些。
消费者长轮询超时时间

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

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

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

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

资源配额

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

限制项限制值说明
单地域实例数不超过1000个。无。
单实例消息收发TPS由购买的实例规格决定,具体限制值,请参见实例规格限制消息收发TPS体现当前实例的处理性能,实际超过该规格实例会被限流,请及时升级规格配置。
单实例Topic数量由购买的实例规格决定,具体限制值,请参见实例规格限制从安全性和稳定性考虑,建议将不同业务拆分到不同实例中,避免所有业务集中在单个实例中。
单实例Group数量由购买的实例规格决定,具体限制值,请参见实例规格限制从安全性和稳定性考虑,建议将不同业务拆分到不同实例中,避免所有业务集中在单个实例中。
消息保存时长
  • 最短24小时。
  • 最长720小时。
在存储成本可控范围内,建议尽量延长保存时长。消息保存时长越长,提供可提供的问题排查周期和回溯窗口越长。
实例在限流状态下的生产和消费调用占比实例的消息生产和消费TPS比例默认为1∶1,即50%。消息生产可调整比例最低为20%,最高为50%。消息生产和消费TPS比例支持修改,例如在多读少写场景下需要实现一对多的消费结果,可以提高消费TPS,即降低生产消费调用占比。
单消费者分组处理中消息的数量不超过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上限(次/秒)公网下行带宽(Mbps)单实例Topic上限(个)单实例ConsumerGroup上限(个)
单节点版rmq.s1.micro500不涉及

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

1~1000

支持自定义配置。

1001000
集群高可用版rmq.s2.2xlarge200050500
rmq.s2.4xlarge400075750
rmq.s2.6xlarge60001001000
说明 若标准版中Topic和ConsumerGroup的最高规格(rmq.s2.6xlarge)仍无法满足您的业务需求,建议您升级至专业版并选择适合您的实例规格。

专业版实例规格

实例子系列实例规格代号消息收发基础规格TPS上限(次/秒)消息收发规格外突发弹性TPS上限(次/秒)公网下行带宽(Mbps)单实例Topic上限(个)单实例ConsumerGroup上限(个)
单节点版rmq.p1.micro500不涉及

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

1~1000

支持自定义配置。

1501500
集群高可用版rmq.p2.4xlarge400020001001000
rmq.p2.6xlarge60003000
rmq.p2.10xlarge1000050001501500
rmq.p2.20xlarge2000010000
rmq.p2.50xlarge5000020000
rmq.p2.100xlarge10000030000
rmq.p2.150xlarge15000050000
说明 若专业版中Topic和ConsumerGroup的最高规格(rmq.p2.10xlarge或以上)仍无法满足您的业务需求,请提交工单咨询处理。

铂金版实例规格

实例子系列实例规格代号消息收发基础规格TPS上限(次/秒)消息收发规格外突发弹性TPS上限(次/秒)公网下行带宽(Mbps)单实例Topic上限(个)单实例ConsumerGroup上限(个)
集群高可用版rmq.u2.10xlarge1000050001~1000

支持自定义配置。

1501500
rmq.u2.20xlarge2000010000
rmq.u2.40xlarge4000020000
rmq.u2.100xlarge10000030000
rmq.u2.150xlarge15000050000
rmq.u2.200xlarge20000060000
rmq.u2.400xlarge400000100000
rmq.u2.600xlarge600000200000
rmq.u2.1000xlarge1000000300000
说明 若铂金版中Topic和ConsumerGroup的规格无法满足您的业务需求,请提交工单咨询处理。