本文为您介绍云消息队列 MQTT 版对某些具体指标的约束和规范,以便您在使用云消息队列 MQTT 版时不要超过相应的限制值,以免程序出现异常。具体的限制项和限制值请参见下表。
如果您购买了企业铂金版的云消息队列 MQTT 版,则可按需定制部分指标(下表中已标出),咨询定制请联系云消息队列 MQTT 版技术支持,钉钉群号:35228338。
限制项 | 限制值 | 说明 |
---|---|---|
Topic长度 | 64个字符 | 使用云消息队列 MQTT 版收发消息时,Topic长度不得超过该限制,否则会导致无法发送或者订阅。 |
Topic跨地域使用 | 无 | 云消息队列 MQTT 版实例的Topic与该实例所绑定的后端消息持久化实例,如云消息队列 RocketMQ 版实例的Topic应处于同一地域。 |
Topic和Client ID可用字符 | 仅限数字0-9,字母a-z或A-Z,和符号“-”、“_” | Client ID和云消息队列 MQTT 版的Topic不允许使用“/”、“:”、“,”、“%”等其他非常规字符,否则可能导致无法连接和收发消息 |
Client ID长度 | 64个字符 | 使用云消息队列 MQTT 版收发消息时,Client ID长度不得超过该限制,否则会导致连接被断开。 |
消息大小 | 64 KB | 消息负载不得超过该限制,否则消息会被丢弃(企业铂金版可定制)。 |
消息保存时间 | 3天 | 目前仅当使用QoS1持久化Session时才会保留离线消息,且最多保留3天,超过时间将自动滚动删除(企业铂金版可定制)。 |
用户消息收发TPS | 参考实例规格 |
|
用户连接数 | 参考实例规格 | 预付费实例会根据购买的规格进行限流,超过规格后将不保证连接稳定性。后付费实例不会限流,但会默认提供监控报警。请合理调整监控阈值。 |
用户订阅关系数 | 参考实例规格 | 预付费实例会根据购买的规格进行限流,超过规格后将不保证订阅关系完整。后付费实例不会限流,但会默认提供监控报警。请合理调整监控阈值。 |
单个客户端订阅Topic数量 | 30个 | 使用云消息队列 MQTT 版收发消息时,每个客户端最多允许同时订阅30个Topic,超过该限制会导致无法新增新的订阅关系(企业铂金版可定制)。 |
QoS和cleanSession | 目前不支持QoS2的持久Session | 使用云消息队列 MQTT 版收发消息时,服务端目前不支持QoS2方式的持久化Session订阅。如果需要接收离线消息,请使用QoS1方式的持久化Session订阅。 |
Token有效期 | 30天 | 调用申请Token接口时,如果ExpireTime的取值大于30天,接口仍然调用成功返回Token,无报错,但实际有效期即为30天。 |
消息顺序性 | 上行顺序 | 使用云消息队列 MQTT 版收发消息时,目前只保证每个客户端发送消息的顺序性,如果消费消息需要顺序,需要使用云消息队列 RocketMQ 版TCP方式接收消息。 |
离线消息可见时间 | 10秒 | 服务端首次推送消息后必须要等待超时或者失败后才能确认该消息是否转化为离线消息,对应的延迟时间通常是5秒~10秒。 |
离线消息存储数量 | 1,000,000条 | 服务端会限制每个实例存储的离线消息数量。超过该限制后,服务端会从最早的消息开始清理。因此,请合理使用持久化订阅模式,以免产生很多无用的离线消息。 如果默认限制不满足,请联系云消息队列 MQTT 版技术支持,钉钉群号:35228338。 |
通配符订阅关系数量 | 每个父级Topic下仅允许100个通配符订阅关系。 | 服务端会限制每个父级Topic生效的通配符订阅关系的数量,超过限制后服务端会只加载100个,可能会造成部分订阅的客户端收不到消息。请严格控制数量。 |
云消息队列 MQTT 版域名接入点对应的IP地址 | 无 | 该IP地址随时可能更换,请勿假设IP地址固定。在以下使用情况中出现的问题云消息队列 MQTT 版产品方概不负责:
|