Pub/Sub 价格
Pub/Sub 的费用包含三个组件:
- 发布和传送消息的吞吐量成本
- 与跨 Google Cloud 可用区或区域边界的吞吐量相关的出站流量费用
- 快照的存储费用、主题保留的消息以及订阅保留的已确认消息的费用
Pub/Sub 服务费根据用量(已发布、传送或存储的字节数)计算。
相比之下,Pub/Sub Lite 吞吐量和存储费用则基于预留容量。
这两种服务的出站流量根据用量而不是预留的容量计算。
前提条件
本文档要求您了解 Pub/Sub 或 Pub/Sub Lite 的架构以及每个产品的常见术语。如需了解详情,请参阅 Pub/Sub 架构。
价格示例
下表比较了北美采样负载的 Pub/Sub 和 Pub/Sub Lite 系统的每月费用。此示例假设 24 小时消息存储期、Pub/Sub Lite 资源利用率为 50 以及 Pub/Sub 的拉取或推送订阅类型。其他类型的订阅可能会产生额外费用。
发布吞吐量 (MiBps) | 订阅数量 | 可用区级精简版主题 | 区域级精简版主题 | Pub/Sub |
---|---|---|---|---|
10 | 1 | $169 | 608 元 | $2,000 |
10 | 2 | $214 | 788 美元 | $3000 |
100 | 1 | $1688 | 6,075 美元 | $19760 |
100 | 2 | $2138 | 7,875 美元 | $29640 |
比较 Pub/Sub 和 Pub/Sub Lite 的费用时,请考虑这两个产品在功能上的差异。如需了解详情,请参阅选择 Pub/Sub 或 Pub/Sub Lite。
Pub/Sub 服务价格
本部分的价格详情仅适用于 Pub/Sub,而不适用于 Pub/Sub Lite。此部分包含以下主题:
吞吐量费用
吞吐量是指一段时间内写入 Pub/Sub 主题或订阅(主题订阅)读取的字节总数(发布吞吐量)。
在每个日历月,结算帐号的 Message Delivery Basic SKU 的前 10 GiB 吞吐量免费。之后,在所有 Google Cloud 区域中,价格为每 TiB$40。但是,如果您使用的是 BigQuery 订阅,请参阅下一部分。
BigQuery 订阅的吞吐量费用
在所有 Google Cloud 区域中,BigQuery 订阅的 TiB 价格为 50 美元,用于从订阅读取数据以及写入 BigQuery 数据。不会产生额外的 BigQuery 数据注入费用。但需要支付其他类型的 BigQuery 费用,例如存储空间和数据提取费用。如需了解详情,请参阅 BigQuery 价格。前 10 GiB BigQuery 订阅吞吐量是免费的。
Cloud Storage 订阅的吞吐量费用
在所有 Google Cloud 区域中,Cloud Storage 订阅的每 TiB 费用为$50,用于从订阅读取数据和写入 Cloud Storage 数据。当 Cloud Storage 订阅将文件写入存储桶时,可能会收取其他类型的额外费用。其中包括存储、检索和复制等费用。如需了解详情,请参阅 Cloud Storage 价格。前 10 GiB Cloud Storage 订阅吞吐量是免费的。
消息量计算
消息的数据量是以下消息特性的大小总和:
- 编码的消息正文字符串的字节数
- 每个特性的键和值的大小
- 时间戳(20 个字节)
message_id
字符串的大小- 其他可选字段(例如与抢先体验版和其他受限访问 API 关联的字段)的大小。
每个请求至少评估 1 KB,无论请求中的消息大小如何。因此,对于小于 1 KB 的消息,在单个请求中对多条消息进行批处理的成本更低。
存储费用
订阅中未经确认的消息最多可存储 7 天。
Pub/Sub 存储不是免费的。以下费用为每月每 GiB $0.27:
- 主题配置为保留所有消息。在这种情况下,会对发布到主题的所有消息收取消息存储费用。
- 订阅配置为保留已确认的消息。在此情况下,会对保留的已确认消息收取存储费用。
- 创建了订阅的快照。在此情况下,会对快照的未确认消息收取消息存储费用。
注意:如果在创建快照时,订阅有积压的未确认消息,则会收取一次性费用,金额相当于将相应积压数据存储七天的费用。
保留单个订阅中已确认的消息为订阅所有者提供了最大的灵活性,但通常是最昂贵的存储机制。主题保留是费用最低的存储机制,因为针对主题保留的消息可以在附加到该主题的所有订阅上使用,而无需为每个订阅支付额外费用。快照也可以是一种经济的选择,因为单个快照可以用于多个订阅。
出站流量费用
Google Cloud 区域之间的互联网出站流量和消息传送费用与 VPC 网络费率一致,但存在以下例外情况:
- 使用 Pub/Sub 无需支付可用区出站流量费用。
- 流向 Google 产品的出站流量不能免除出站流量费用。
- 您不需要为 Pub/Sub 中的入站流量付费。例如,如果发布商位于其他区域或可用区,则您必须为源服务支付出站流量费用,但不需要入站流量。同样,如果发布商是从 Amazon Web Service (AWS) 或私有数据中心发布,则无需向 Pub/Sub 支付入站流量费用。
每次消息跨越区域边界时,您都需要支付出站流量费用。如果您在存储消息的区域中有不同订阅者,则需要为这些订阅者分别支付出站流量费用。
基于消息存储政策的出站流量费用
如果消息存储政策强制数据离开某 Google Cloud 区域,则可能会产生额外的区域出站流量费用。例如,假设某个消息包含以下事件:
- 发布于 A 区域中
- 路由到 B 区域中加以存储
- 传送到 C 区域中的订阅者客户端
在这种情况下,结算场景如下所示:
- 将对包含主题的项目收取从 A 区域到 B 区域的网络出站流量费用。
- 将对包含订阅的项目收取从 B 区域到 C 区域的出站流量费用。
仅当所发布消息的存储区域与发布消息的区域不同(即 B 是与 A 不同的区域)时,包含该主题的项目才会产生出站流量费用。仅当所发布消息的存储位置与订阅者客户端位于不同区域时(C 不同于 B),包含订阅的项目才需要支付出站流量费用。
被滤除的邮件费用
Pub/Sub 会自动确认与过滤器不匹配的消息,但您仍需要为这些消息支付吞吐量费用。被过滤的消息不会产生出站流量费用。
Pub/Sub 服务自动确认的消息中至少有 1000 字节不需要付费。消息传送费用根据这些消息中的字节数计算,与小消息无关。
跨项目 Pub/Sub 结算
如果您在多个项目中使用 Pub/Sub,Pub/Sub 的费用会计入包含所请求资源的项目中:
- 发布费用计入包含主题的项目中。
- 订阅费用计入包含订阅的项目中。
例如,如果订阅在项目 A 中,则会对项目 A 收取从订阅中拉取数据的相关费用,即使该订阅关联的主题属于项目 B 也是如此。
如果项目 A 中的授权服务帐号使用了项目 B 中某个订阅的消息,则会对项目 B 收取从订阅中拉取数据的相关费用。
Pub/Sub Lite 服务价格
以下价格详情仅适用于 Pub/Sub Lite,不适用于 Pub/Sub。除非另有说明,否则详细信息将同时适用于可用区级和区域级精简版主题。包含以下部分:
吞吐量费用
吞吐量是指一段时间内写入 Pub/Sub 精简版主题或从订阅读取到主题的订阅总字节数(发布吞吐量)。
Pub/Sub 精简版吞吐量费用取决于预配或预留的吞吐量容量,而不是实际吞吐量 (MiBps) 或结算周期内的总字节数(每月 MiB)。吞吐量容量按容量单位进行预配和定价。您可以使用精简版预留为同一区域的一个或多个主题预配吞吐量容量。
下表显示了 Pub/Sub Lite 系统的吞吐量和存储费用。
Lite 预留的吞吐量
精简版预留用于在区域中一个或多个主题之间预留和共享吞吐量容量。区域级 Pub/Sub 精简版主题需要进行精简版预留。
精简版预留的吞吐量容量以容量单位来衡量。您只能为预留预配大量容量单位。如下表所述,不同操作的吞吐量需要不同数量的容量单元:
需要容量单位 | 可用区级精简版主题 | 区域级精简版主题 |
---|---|---|
1 MiBps 的发布吞吐量 | 1 个容量单位 | 4 个容量单位 |
1 MiBps 订阅吞吐量 | 0.5 个容量单位 | 2 个容量单位 |
预留中所有精简版主题的分区数不得超过预留的容量单元数量。
使用预留计算单个主题的吞吐量容量费用
以下部分可帮助您计算使用预留的单个可用区级精简版主题的吞吐量容量费用:
- 主题类型 = 可用区级精简版主题
- 主题数量 = 1
- 分区数 = 5
- 发布吞吐量峰值 = 5 MiBps
- 发布吞吐量所需的容量单位 = 5
- 峰值订阅吞吐量 = 10 MiBps
- 订阅吞吐量所需的容量单位 = 5
- 所需的总容量单元 = 5+5 = 10
- 北美 10 个容量单元每月的费用 = 45 美元
如需获得具有 5 个分区的区域级精简版主题的相同吞吐量,则需要具有 40 个容量单元的预留、20 个发布吞吐量和 20 个订阅吞吐量。
您可以随时更改预留的容量单位数。但是,您需要为过去 24 小时内预配的最大容量付费。例如,如果您在星期一上午 10:00 将预留的容量从 40 个容量单位更改为 10 个容量单位,那么在星期二上午 10:00 之前,您每小时需要支付 40 个容量单位的费用,之后需要每小时处理 10 个容量单位。
请注意,预留的容量可用于发布和订阅吞吐量与预留同一区域中的任何主题。如需详细了解预留,请参阅创建和管理精简版预留。
不使用精简版预留的吞吐量
本部分仅适用于可用区级精简版主题。
您可以选择不使用预留,而是为单个主题预留发布和订阅吞吐量容量。在这种情况下,您需要为当前预留的容量付费,而不是按运行中的 24 小时的上限付费。
请注意,不带预留配置的容量必须在以下限制之间:
- 为每个分区发布 4 和 16 MiBps(相当于 4 和 16 个容量单位)。
- 每个分区 4 和 32 MiBps(相当于 2 和 16 个容量单位)。
计算没有预留的单个主题的吞吐量容量费用
以下部分可帮助您计算一个不使用预留的单个可用区级精简版主题的吞吐量容量的费用:
- 主题类型 = 可用区级精简版主题
- 主题数量 = 1
- 分区数 = 4
- 发布吞吐量峰值 = 16 MiBps
- 发布吞吐量所需的容量单位 = 16
- 峰值订阅吞吐量 = 16 MiBps
- 订阅吞吐量所需的容量单位 = 8
- 所需的总容量单位 = 16+8 = 24
- 每月 24 个北美洲容量单元的费用 = 108 美元
存储费用
与精简版吞吐量一样,您只需为主题的存储容量付费。 Pub/Sub Lite 会针对您在一个月内预配的最大存储空间收费。每个分区必须至少有 30 GiB 存储容量。
区域级精简版主题将数据存储在一个区域中的两个可用区中,而地区 LLite 主题仅将数据存储在一个区域中的一个可用区中。区域级精简版主题会针对发布的每个消息字节使用两个字节的存储空间。因此,发布到区域级精简版主题的每字节存储费用是可用区级费用的两倍。
如需估算 Pub/Sub Lite 系统的存储空间容量,请参阅以下列表:
确定存储消息所需的时间。
如需估算所需的总存储空间,请用每个分区的平均预期吞吐量乘以存储消息所需的时间。例如,如需在可用区级精简版主题的 10 个分区中每秒发布 40 MiB 的消息,并将消息保留一天,请预配 3375 GiB 的存储空间(相当于每小时 40 MiB * 3600 秒 * 24 小时 * 1 GiB/1024 MiB)。您的北美存储费用为 $135(相当于 3375 GiB * 每天 24 小时 * 每月 30 天 * $0.04 / GiB 月)。对于区域级精简版主题,由于数据存储在两个可用区中,因此存储费用翻倍,达到 270 美元。
考虑密钥分布不均匀。
系统会为所有分区分配相同的存储容量。如果您预计某些分区的卷比其他分区大,请配置所有分区都具有最大分区所需的存储空间。
消息量计算
计算吞吐量和存储空间的消息大小时,每条消息至少占用 256 个字节。如果消息大于 256 字节,则消息的大小是以下消息特性的总和:
- 编码的消息正文字符串的字节数
- 每个特性的键和值的字节数
- 排序键的字节数
- 事件时间戳(12 个字节)
出站流量费用
仅当您的订阅者位于与主题位置不同的可用区或区域时,您才需要支付 Pub/Sub Lite 出站流量费用。Google Cloud 区域之间的互联网出站流量和消息传送费用与 VPC 网络费率一致,但以下情况除外:
对于订阅者与该主题所在区域相同的区域级精简版主题,没有可用区出站流量费用。
流向 Google 产品的出站流量不能免除出站流量费用。
使用非美元货币付费
如果您使用非美元货币付费,请参阅 Google Cloud SKU 上以您的币种列出的价格。其中列出的是每 TiB(2^40 字节,约为 1.1 万亿字节)数据的价格。