没有消息时的 Google Cloud PubSub 费用

Posted

技术标签:

【中文标题】没有消息时的 Google Cloud PubSub 费用【英文标题】:Cost of Google Cloud PubSub when there are no messages 【发布时间】:2019-07-31 12:47:58 【问题描述】:

我正在查看 Pub/Sub 定价,如果订阅者点击端点但没有收到任何消息,我无法获得价格。因为我的想法是 24 小时运行工人。

【问题讨论】:

【参考方案1】:

使用今天的定价模式,如果您的订阅者发送Pull 或StreamingPull 请求(直接或通过client libraries),如果没有返回消息,则不会产生费用。订阅者的计费基于每月发送给订阅者的消息中的字节数。

【讨论】:

【参考方案2】:

如Cloud Pub/Sub pricing documentation 中所述,定价基于一个日历月中使用的数据量。数据量是根据用于拉取、推送和发布操作的消息和属性数据计算得出的。 因此,即使您的订阅中没有可用的消息,您仍然会执行拉取调用,并且该调用具有一定的大小和一定的价格。

请注意,每个请求(不是请求中的每条消息)的最小计费数据量为 1 KB 数据。因此,即使拉动动作小于 1 kB,您也需要为 1 kB 付费。如果在一个日历月内执行了 50 个拉动操作,每个拉动操作的大小为 500 字节,则这些拉动操作的成本为 1 KB * 50 个请求 * 价格/GiB 在该数据量层中。

以上文档链接中的定价表中描述了您为一定数量的每月数据量收取的费用。请注意,有一定的第一笔免费数据量。下一个数据量层不是免费的。

更新:

我无法在这里评论Kamal's answer。但考虑到他在 Google 从事 Pub/Sub 工作,我希望他的回答是正确的,而不是我的。

在这种情况下,我发现文档不清楚,因为它强调“每个请求(而不是消息)”。

每个请求(非消息)的最小计费数据量为 1 KB 数据。

文档没有明确说明如果没有返回消息,您不需要付费。但根据 Kamal 的说法,情况似乎就是这样。

【讨论】:

以上是关于没有消息时的 Google Cloud PubSub 费用的主要内容,如果未能解决你的问题,请参考以下文章

从 Compute Engine 发布到 Cloud Pub/Sub 主题时的 DEADLINE_EXCEEDED

Google-Cloud-Messaging服务的可靠性

Google Cloud Platform 日志查看器记录截断错误日志的 jsonPayload 消息

如何使用 Google PubSub 确认 (@google-cloud/pubsub)

Google Cloud Functions 无法使用 Pub/Sub 死信主题

使用 Google Cloud PubSub 不断收到“向 Cloud PubSub 发送测试消息时出错...”