本文介绍微消息队列 MQTT 版的实例类型和计费模式,帮助您按需选型。

注意事项

  • 微消息队列 MQTT 版自 V3.x.x 版本开始不再以消息队列RocketMQ版为存储。单微消息队列 MQTT 版实例最多创建 25 个 Topic。超出该数量,请提交工单处理,未来会对超出的资源进行计费。
  • 如果您使用微消息队列 MQTT 版 V3.x.x 版本时,通过规则与其他阿里云产品产生数据互通,相应产品的费用请以具体产品的计费说明为准。针对当前仅支持的消息队列RocketMQ版,则需收取 Topic 资源占用费以及 API 调用费。详情请参见消息队列RocketMQ版详细价格总览

实例类型

微消息队列 MQTT 版的实例类型如下:

项目 铂金版 基础版 按量付费
实例类型 专享实例(物理隔离)。底层硬件资源独享,每个实例都是独立部署的集群,不会受到其他用户的业务高峰的影响,提供更高优先级的售后服务和稳定性保障。 共享实例(逻辑隔离)。底层硬件资源共享,多个实例共享同一个后端集群,由微消息队列 MQTT 版来保证多租户场景下的服务可用性。 共享实例(逻辑隔离)。底层硬件资源共享,多个实例共享同一个后端集群,由微消息队列 MQTT 版来保证多租户场景下的服务可用性。
计费模式 包年包月。按照购买规格,以包年或者包月的形式进行预付费。 按量付费。按照实际使用量进行后付费。
适用场景
  • 业务规模较大。
  • 有定制需求。
  • 对消息收发 TPS 上限、连接数上限、订阅关系数上限的要求较高。
  • 业务规模较小。
  • 对消息收发 TPS 上限、连接数上限、订阅关系数上限的要求较低。
  • 业务规模变化。
  • 消息收发量、连接数、订阅关系数变化。
服务支持 产品咨询钉钉群
阿里云工单通道
系统上线与大促护航服务
专属支持钉钉群
专属服务经理支持
专属技术专家支持

核心研发团队直接提供技术支持。

点对点故障处理

7 * 24 小时 on-call。

功能特性 单设备订阅关系限制(规则) 理论上无限制

可定制单设备订阅关系限制(规则)。

最多 30 个 最多 30 个
消息保留时间 最多 7 天

可定制消息保留时间。

最多 3 天 最多 3 天
协议类型 MQTT

可定制协议。

MQTT MQTT
设备上下线通知
P2P 支持
消息轨迹
顺序消息
第三方账号授权
WebSocket 支持
管控 OpenAPI
说明 ✓ 表示支持该服务或功能,✗ 表示不支持该服务或功能。获取产品咨询钉钉群,请参见联系我们

包年包月

微消息队列 MQTT 版包年包月实例的计费项目如下:

项目 定义 说明 示例
连接数上限 任一时刻在单个实例上存在的客户端 TCP 连接的数量上限。同时在线连接数是瞬态值,更新周期为 1 分钟。 确保连接数上限大于等于业务实际在线连接数,以免业务在连接峰值脉冲时触发微消息队列 MQTT 版服务限流,导致部分客户端无法连接。 instance_a 在 10:00 的同时在线连接数是 1000 个,10:01 的同时在线连接数是 2000 个,则 instance_a 需要超过 2000 个(例如 5000 个)的连接数上限,才能保证服务正常运行。
消息 TPS 上限 每秒钟使用微消息队列 MQTT 版支持的协议,进行上行数据发送和下行数据接收的消息总条数上限。
  • 确保消息 TPS 上限大于等于业务实际消息 TPS,以免业务异常。
  • 消息 TPS 仅涉及通过微消息队列 MQTT 版进行收发的消息,不涉及通过消息队列RocketMQ版进行收发的消息。
  • 消息 TPS 包括消息接收的 TPS 和消息发送的 TPS。
  • 对于 QoS=1 且 cleanSession=false 的消息,如果没有推送成功则存储为离线消息等待重试,存储离线消息也会计算成一次推送调用。
  • 每条消息(包含客户端和云端 API 的调用请求)以 1 为基本计价单位,针对具体协议中的特定传输质量,需要乘以相应的倍率。详情请参见计价倍率
instance_a 有 100 个客户端,每个客户端都设置了 cleanSession=true,每秒发送 1 条 QoS0 消息、2 条 QoS1 消息、3 条 QoS2 消息,每秒接收 1 条 QoS0 消息、1 条 QoS1 消息、1 条 QoS2 消息,instance_a 的消息 TPS 为 100 x(1 + 2 x 2 + 3 x 5)+ 100 x(1 + 1 x 2 + 1 x 5)= 2800 条/秒,则 instance_a 需要超过 2800 条/秒(例如 3000 条/秒)的消息 TPS 上限,才能保证服务正常运行。
订阅关系数上限 用户在微消息队列服务端注册保留的订阅规则的数量上限。
  • 确保订阅关系数上限大于等于业务订阅关系数,以免业务异常。
  • 订阅关系的计算单位是每个 Client ID 对每个 MQTT Topic 的订阅。
  • 订阅关系数的统计周期为 1 分钟,服务端统计会给出统计周期内的最大值。
  • 根据 MQTT 协议,当客户端设置 cleansession=true 时,客户端离线后服务端会清理掉该客户端所有订阅的 Topic;如果 cleanSession=false,服务端会一直保留客户端订阅的 Topic。
instance_a 有 client_1 和 client_2 两台设备,其中 client_1 订阅了 TopicA/sub_1、TopicA/sub_2、TopicB/sub_1,client_2 订阅了 TopicA/sub_1、TopicB/sub_2, instance_a 的订阅关系数为 3 + 2 = 5 个,则 instance_a 需要超过 5 个(例如 1000 个)的订阅关系数上限,才能保证服务正常运行。

微消息队列 MQTT 版包年包月实例的连接数上限的计费规则如下:

实例类型 连接数上限(个) 价格(元/月)
基础版实例 100 13
1 千 125
5 千 625
1 万 1250
2 万 2500
5 万 6250
10 万 12500
铂金版实例 10 万 17000
30 万 50000
50 万 83000
100 万 167000
200 万 333000

微消息队列 MQTT 版包年包月实例的消息 TPS 上限的计费规则如下:

实例类型 消息 TPS 上限(条/秒) 价格(元/月)
基础版实例 100 125
1 千 1250
5 千 6250
1 万 12500
2 万 25000
铂金版实例 2 万 23000
5 万 35000
10 万 53000
20 万 80000
50 万 187000

微消息队列 MQTT 版包年包月实例的订阅关系数上限的计费规则如下:

实例类型 订阅关系数上限(个) 价格(元/月)
基础版实例 1 千 50
1 万 500
5 万 2500
10 万 5000
20 万 10000
50 万 25000
100 万 50000
铂金版实例 10 万 7000
50 万 33000
100 万 67000
200 万 133000
500 万 333000
说明 包年包月的微消息队列 MQTT 版实例可被转换为按量付费实例,详情请参见包年包月转按量付费

按量付费

微消息队列 MQTT 版按量付费实例的计费项目如下:

项目 定义 说明 示例
同时在线连接数 任一时刻在单个实例上存在的客户端 TCP 连接的数量。同时在线连接数是瞬态值,更新周期为 1 分钟。 计费周期为天,即每天账单中统计的是前一天 0 点开始的 24 小时内同时在线连接数的最大值。 instance_a 2017-08-08 10:00 的同时在线连接数是 1000,2017-08-08 11:00 为 2000 个,2017-08-08 后续时刻都没有达到 2000 个,2017-08-08 当天 instance_a 的同时在线连接数最大值为 2000 个,则计费值为 2000 个。
消息收发量 使用微消息队列 MQTT 版支持的协议,进行上行数据发送和下行数据接收的消息总条数。
  • 计费周期为天,即每天账单中统计的是前一天 0 点开始的 24 小时内接收消息和发送消息的总数。
  • 消息收发仅涉及通过微消息队列 MQTT 版进行收发的消息,不涉及通过消息队列RocketMQ版进行收发的消息。
  • 消息收发包括消息接收和消息发送。
  • 对于 QoS=1 且 cleanSession=false 的消息,如果没有推送成功会存储到离线消息等待重试,存储离线消息也会计算成一次推送调用。
  • 每条消息(包含客户端和云端 API 的调用请求)以 1 为基本计价单位,针对具体协议中的特定传输质量,需要乘以相应的倍率。详情请参见计价倍率
instance_a 有 100 个客户端,每个客户端都设置了 cleanSession=true, 发送 1 条 QoS0 消息、2 条 QoS1 消息、3 条 QoS2 消息,接收 1 条 QoS0 消息、1 条 QoS1 消息、1 条 QoS2 消息, instance_a 的消息收发量为 100 x(1 + 2 x 2 + 3 x 5)+ 100 x(1 + 1 x 2 + 1 x 5)= 2800 条,则计费值为 2800 条。
订阅关系数 订阅关系数指用户在微消息队列服务端注册保留的订阅规则的数量。 计费周期为天,即每天账单中统计的是前一天 0 点开始的 24 小时内订阅关系数的最大值。 instance_a 2017-08-08 10:00 的订阅关系数是 1000 个,2017-08-08 11:00 时删除了 500 个,且后续时刻都没有达到过 1000 个,2017-08-08 当天 instance_a 订阅关系数最大值为 1000 个,则计费值为 1000 个。

微消息队列 MQTT 版按量付费实例的同时在线连接数的计费规则如下:

同时在线连接数(个) 价格(元)
[1,100] 0.3
> 100 同时在线连接数 × 0.003

微消息队列 MQTT 版按量付费实例的消息收发量的计费规则如下:

消息收发量(万条) 价格(元)
> 0 消息收发量 × 0.04
说明 消息收发量不足万条的按实际消息条数计算。

微消息队列 MQTT 版按量付费实例的订阅关系数的计费规则如下:

订阅关系数(个) 价格(元)
[1,100] 0.02
> 100 订阅关系数 × 0.0002

计价倍率

微消息队列 MQTT 版消息的计价倍率如下:

传输质量级别 计价倍率
MQTT 协议 QoS=0 且 cleanSession=true 1
MQTT 协议 QoS=0 且 cleanSession=false 1
MQTT 协议 QoS=1 且 cleanSession=true 2
MQTT 协议 QoS=1 且 cleanSession=false 5
MQTT 协议 QoS=2 且 cleanSession=true 5
说明 微消息队列 MQTT 版不支持 MQTT 协议 QoS=2 且 cleanSession=false,但如果您设置了该传输质量级别,则按照计价单位的 5 倍计价。