选择 Pub/Sub 或 Pub/Sub 精简版

本页面旨在帮助您在 Pub/Sub 和 Pub/Sub 精简版之间进行选择。

Pub/Sub 和 Pub/Sub 精简版都是可横向扩容的代管式消息传递服务。Pub/Sub 应该是大多数应用集成和分析使用场景的默认解决方案。仅当应用的费用非常低时,才建议将 Pub/Sub 精简版用于某些额外的操作工作。

Pub/Sub 提供了更多功能,即按消息并行处理、全局路由和自动扩缩资源容量。

Pub/Sub 精简版的价格可以低一个数量级,但可用性和耐用性都更低。此外,Pub/Sub 精简版要求您手动预留和管理资源容量。

例如,具有单个订阅的系统的费用(每条消息只需读取一次)可能便宜 85%。具体而言,如果您发布了 1 MiB/秒(60 MiB/分钟,即 2.5 TiB/月)的数据和 24 小时的存储消息(84 GiB/月的存储容量),则使用 Pub/Sub 的 Pub/Sub 精简版费用为 $30/月,而不是 $200/月相比。

如需详细了解 Pub/Sub 和 Pub/Sub 精简版之间的费用差异,请参阅 Pub/Sub 精简版价格

对照表

特征 Pub/Sub Pub/Sub 精简版
信息复制 单个地区中的多个区域 单个地区
容量 自动供应 使用前供应
价格 支付您使用的容量 支付您供应的容量
存储 无限制 每个分区至少 30 GiB,没有上限
保留期限 最长 7 天 无限制
Service 端点 全球和地区 地区
资源命名空间 全球 地区
信息路由 全球 地区

信息路由

Pub/Sub 在全球范围内路由消息。托管在任何区域中的应用都可以将消息发布到单个主题。这些消息在组织政策允许的最近区域内处理并转发给订阅者,无论来源为何。

Pub/Sub 精简版在可用区范围内路由消息。订阅者必须连接到主题所在区域中的服务实例。因此,发布者和订阅者必须保持与同一个区域的网络连接才能通信。发布者可以从任何地方向任何主题发布数据,但这可能需要连接到远程区域,从而增加网络延迟时间。如果订阅者需要将汇总数据发布到不同位置的主题,则必须连接到每个相关的本地服务实例才能读取消息。

资源命名空间

Pub/Sub 主题和订阅是全球性资源。Pub/Sub 服务可以将消息存储在主题存储政策允许的任何区域中。此外,主题和对该主题的订阅可以存储在不同的项目中,从而实现精细的结算和访问权限控制。最后,无论订阅者使用哪个服务端点连接到 Pub/Sub 或者数据发布者使用哪个服务端点,订阅者都会获得相同的数据。

Pub/Sub 精简版主题和订阅是可用区资源,必须位于同一 Cloud 项目和可用区中。如果您在 Google Cloud 上运行发布者或订阅者,则应用可以在与精简版主题和精简版订阅所属的 Cloud 项目不同的 Cloud 项目中运行。如需查看 Pub/Sub 精简版支持的区域列表,请参阅 Pub/Sub 精简版位置

容量管理

Pub/Sub 自动扩缩。 系统会自动预配消息发布的容量,因此您可以按任意速率发送和接收消息,最高可达您为项目配置的配额。

Pub/Sub 精简版需要手动预配。您必须配置每个精简版主题的分区数量。您还必须预配存储和吞吐量容量。可以使用精简版预留预配吞吐量容量。

分发模式

Pub/Sub 支持多种消息传送模式。这些模式包括 Pull(传统轮询)、Push (HTTPS POST)、StreamingPull(双向 RPC,实现最短延迟时间和最高效率)以及通过 HTTP REST 和 gRPC 拉取。

Pub/Sub 精简版仅支持流式传输 gRPC 拉取消息传送。为了请求消息,订阅者需要为每个分区建立双向流式传输连接。

最大并行数量

Pub/Sub 使用按消息并行处理。这样可以针对单个订阅并行处理来自一个或数千个客户端的任意数量的消息。

Pub/Sub 精简版使用基于分区的并行性。 这会强制客户端在单个客户端实例上以线性顺序处理每个数据分区。这将客户端实例的最大数量限制为最多分区数量。

流处理流水线

Pub/Sub 和 Pub/Sub 精简版会与 Dataflow 集成,以进行无服务器流处理和数据集成。Pub/Sub 可让 Dataflow 更灵活地扩缩,并支持 Dataflow SQL

如需开始使用 Dataflow 和 Pub/Sub 或 Pub/Sub 精简版,请尝试学习以下教程: