本文档旨在帮助您在 Pub/Sub 和 Pub/Sub Lite 之间进行选择。 本文档要求您熟悉 Pub/Sub 的基本概念,例如 如主题和订阅。如果您刚开始接触 Pub/Sub,请阅读 首先介绍什么是 Pub/Sub。
Pub/Sub 和 Pub/Sub Lite 可横向伸缩 和托管式消息传递服务这些服务可以处理 支持较大的存储空间要求。Pub/Sub 通常是 是适用于大多数应用集成和分析用例的默认解决方案。 它功能丰富,并且全代管式。建议使用 Pub/Sub Lite 对于消息传递吞吐量较稳定的应用 基于分区的系统, 是个重大问题
Pub/Sub 按消息提供更丰富的功能 并行处理、全局路由和自动伸缩资源容量。在 Pub/Sub 等消息复制功能 同步复制。
Pub/Sub Lite 是一种基于分区的解决方案 运维工作负载、全球可用性以及部分用于提升成本效益的功能。 Pub/Sub Lite 要求您手动预留和管理资源 容量。在 Pub/Sub Lite 中,您可以选择可用区级或 区域级精简版主题。区域级精简版主题提供与 SLA 相同的可用性 Pub/Sub 主题。
请注意这两项服务在可靠性方面的差异 消息复制功能。Pub/Sub 支持同步 并使用了三个可用区区域级精简版主题将数据复制到 次要可用区可用区级精简版主题仅在一个可用区中复制数据。
业务要求核对清单
以下问题可帮助您选择合适的 Pub/Sub 消息传输服务:
具有可靠性、运营成本极低、易于开发 您的首要任务是什么?使用 Pub/Sub。
您是否愿意承担一些额外的运营开销: 主题容量的管理工作 可与可用性功能配合使用 可用区级服务固有的风险,并且需要低成本? 使用可用区级精简版主题。
您是否需要针对可用区级故障、 愿意承担额外的运营成本 主题容量的管理工作,并且所需的 吞吐量成本?使用区域级精简版主题。
如需详细了解 Pub/Sub 与 Pub/Sub Lite,请参阅价格页面。
功能对比表
特征 | Pub/Sub | Pub/Sub Lite |
---|---|---|
Access Transparency | 是 | 否 |
容量 | 自动供应 | 使用前供应 |
客户端库语言 | Java、Python、Go、Node.js、C++、C#、PHP、Ruby、SAP、ABAP | Java、Python、Go |
跨项目订阅 | 是 | 否 |
客户管理的加密密钥 | 是 | 否 |
死信主题 | 是 | 否 |
仅传送一次 | 是 | 否 |
集成 | ||
邮件过滤 | 对于消息属性,则为“是” | 否 |
信息复制 | 是 | 否 |
信息路由 | 全球 | 可用区级或区域级 |
消息架构验证 | 是 | 否 |
单个地区中的多个区域 | 否 | 单个区域中的单可用区或双可用区 |
订外卖 | 按键排序 | 按分区排序 |
消息确认跟踪 | 每条消息 | 每个分区的游标 |
价格 | 用多少,付多少 | 支付您供应的容量 |
REST 端点 | 是 | 否 |
资源命名空间 | 全球 | 可用区级或区域级 |
保留期限 | 最长 31 天 | 无限制 |
Service 端点 | 全球和地区 | 区域 |
存储 | 无限制 | 无限制 |
订阅 |
数据复制
Pub/Sub 主题将数据复制到一个区域内的三个可用区。 如需详细了解 Pub/Sub 数据复制,请参阅 主题中的数据复制。
区域级 Pub/Sub 精简版主题将数据复制到两个可用区 单个区域内可用区级 Pub/Sub Lite 主题将数据存储在 单个可用区内如需详细了解 Pub/Sub Lite 数据复制,请参阅 精简版主题中的数据复制。
信息路由
Pub/Sub 和 Pub/Sub Lite 都可以 所有区域甚至是 Google Cloud 外部区域的用户都可以进行订阅。
Pub/Sub 在全球范围内路由消息。托管在任何区域中的应用都可以将消息发布到单个主题。消息经过处理 位于组织政策允许的最近区域, 转发给订阅者,而不受来源的影响。
Pub/Sub Lite 在一个区域或可用区内路由消息。 订阅方必须连接到 主题的位置。因此,发布者和订阅者必须维护网络 从而实现与同一区域的通信发布商可以将数据发布到 来自任何位置的任何主题,但这可能需要连接到远程区域, 可能会增加网络延迟需要发布到主题的汇总数据的订阅者 必须连接到每个相关的本地服务实例, 阅读这些消息。
资源命名空间
Pub/Sub 主题和订阅是全球性资源。通过 Pub/Sub 服务可将消息存储在 任何区域 主题存储政策所允许的最大数量。此外,系统还会提供一个主题和 主题可以存储在不同的项目中,以便实现精细的结算 和访问权限控制最后,无论用户订阅的是哪个服务 使用哪个服务端点来连接到 Pub/Sub 数据发布者使用的服务端点。
可用区级精简版主题和订阅是可用区级资源。这些 资源必须位于同一 Cloud 项目和可用区中。
区域级精简版主题和订阅属于区域级资源。 这些资源必须位于同一 Cloud 项目和区域中。
如需查看 Pub/Sub Lite 支持的区域和可用区列表,请参阅 Pub/Sub 精简版位置。
容量管理
Pub/Sub 自动扩缩。 系统会自动预配消息发布的容量,因此您可以按任意速率发送和接收消息,最高可达您为项目配置的配额。
Pub/Sub 精简版需要手动预配。您必须配置每个精简版主题的分区数量。您还必须预配存储和吞吐量容量。可以使用精简版预留预配吞吐量容量。
分发模式
Pub/Sub 支持多种消息传送模式。这些 包括拉取(传统轮询)、 推送 (HTTPS POST)、 StreamingPull(双向 RPC,适用于最低 延迟时间和最高效率),并拉取 HTTP REST 和 gRPC。
Pub/Sub Lite 仅支持流式传输 gRPC 拉取消息 送货。为了请求消息,订阅者会建立双向流式传输 建立数据连接
最大并行数量
Pub/Sub 使用按消息并行处理。这样可以针对单个订阅并行处理来自一个或数千个客户端的任意数量的消息。
Pub/Sub 精简版使用基于分区的并行性。 这会强制 客户端在单个客户端上按线性顺序处理每个数据分区 实例。这将客户端实例的最大数量限制为最多分区数量。
流处理流水线
Pub/Sub 和 Pub/Sub 精简版会与 Dataflow 集成,以进行无服务器流处理和数据集成。Pub/Sub 可让 Dataflow 更灵活地扩缩,并支持 Dataflow SQL。
如需开始使用 Dataflow 和 Pub/Sub 或 Pub/Sub 精简版,请尝试学习以下教程: