本章节主要介绍消息队列 Pulsar 虚拟集群的各计费项的定价详情和免费说明。
按量计费
API 调用价格
消息队列 Pulsar 虚拟集群对 API 调用实行阶梯式计价。API 调用费用 =(发送消息 API 调用次数 + 消费消息 API 调用次数)× API 调用单价。
API 调用单价(单位:元/百万次调用)如下表所示:
计费阶梯 | 调用次数(百万次/月) | 调用单价(元/百万次调用) | ||
| | 广州、上海、南京、北京、成都 | 中国香港、新加坡、首尔、硅谷、法兰克福 | 深圳金融、北京金融 |
第一阶梯 | N ≤ 1000 | 2.00 | 2.60 | 3.20 |
第二阶梯 | 1000 <N ≤ 5000 | 1.80 | 2.34 | 2.88 |
第三阶梯 | 5000 <N ≤ 10000 | 1.50 | 1.95 | 2.40 |
第四阶梯 | 10000 <N ≤ 50000 | 1.30 | 1.69 | 2.08 |
第五阶梯 | N > 50000 | 1.20 | 1.56 | 1.92 |
消息体大小最大限制为5MB,根据消息的大小以不同的倍率计算 API 调用次数:
消息大小 | 倍率 |
N ≤ 2KB | 1 |
2KB < N ≤ 4KB | 2 |
4KB < N ≤ 16KB | 4 |
16KB < N ≤ 100KB | 16 |
100KB < N ≤ 1MB | 64 |
1MB < N ≤ 5MB | 256 |
例如:一次 10KB 的消息请求(发布或订阅),将以4次API调用次数计算费用。
说明
消费消息的 API 调用次数,是指 broker 推送给消费者的消息量,数值上可能大于消费者实际 ack 的消息数量。出现这种现象的场景包含:
1. 当存在大量的消息堆积时,消费者连接时会预拉取一定量的消息,多次 unack 会被记录为多次消费消息的 API 调用。此时消费消息的 API 调用次数会大于消费者实际 ack 的消息量。
2. 消费 tag 消息时,通常会启动多个消费者。此时消费消息的 API 调用次数会大于消费者实际 ack 的消息量。
消息存储价格
消息队列 Pulsar 虚拟集群对消息存储实行线性计价。消息存储费用 = 消息存储大小 × 消息存储单价。
说明
Pulsar 默认按三副本保存消息,因此计费使用的存储大小约等于消息总大小监控指标的3倍。
消息存储单价(单位:元/GB/小时)如下表所示:
地域 | 广州、上海、南京、北京、成都 | 中国香港、新加坡、首尔、硅谷、法兰克福 | 深圳金融、北京金融 |
单价(元/GB/小时) | 0.0025 | 0.0027 | 0.0053 |
说明
1. 当消息保留策略设置为持久化保留时,消息即使被消费,也会按照最大保留时间进行持久化存储,进而产生额外的消息存储费用。
2. 在 Pulsar 的存储机制中,消息数据以 ledger 的形式存储在 BookKeeper 集群的 Bookie 存储节点上。即使设定的是消费即删除,当 ledger 处于开启状态时,异步清理程序不会对消息数据进行清理,如果一些消息长期未及时消费,可能导致同一 ledger 的其他消息一直消耗存储,进而产生一定的消息存储费用。
分区主题资源占用价格
消息队列 Pulsar 虚拟集群对分区主题资源占用实行线性计价。分区主题资源占用费用 = 分区主题数 × 分区主题资源占用单价。
Pulsar 的分区主题数指的是所有主题的所有分区数之和,即如果有2个3分区主题,则分区主题数为2 × 3 = 6个。
分区主题资源占用单价(单位:元/个/天)如下表所示:
地域 | 广州、上海、南京、北京、成都 | 中国香港、新加坡、首尔、硅谷、法兰克福 | 深圳金融、北京金融 |
单价(元/个/天) | 0.20 | 0.26 | 0.32 |
注意
消息队列 Pulsar 虚拟集群对分区主题资源占用进行计费时,计费周期为天,即一个自然日内任何时刻创建的分区主题资源,实际使用时长不足24小时的,也将在下一个自然日收取一天的费用。
免费说明
消息队列 Pulsar 版对按量付费项目提供一定额度的免费服务。每个主账号在每个地域下所有按量计费的集群拥有以下免费使用额度:
免费项 | 免费额度 | 累计方式 |
API 调用 | 1000万次 | 分地域按月累计 |
消息存储 | 1GB | 分地域按月累计 |
分区主题资源占用 | 2000个 | 分地域按月累计 |
免费额度会优先抵扣每个主账号每个地域下各集群的累计用量,相同地域的不同集群之间共享额度。