从 Pub/Sub Lite 迁移到 Pub/Sub

本文档介绍了如何迁移 Pub/Sub Lite 从 Pub/Sub Lite 迁移到 Pub/Sub。

迁移步骤 发布到 Pub/Sub,请使用 Pub/Sub Lite 导出 订阅功能。导出订阅 功能将 Pub/Sub Lite 中的消息转换为 Pub/Sub 消息, 使用一种称为导出订阅的订阅类型。

Pub/Sub Lite 与 Pub/Sub 之间的区别

Pub/Sub 和 Pub/Sub Lite 均可横向伸缩 但每项服务在工作原理上存在重要区别。 如需详细了解这些差异,请参阅选择 Pub/Sub 或 Pub/Sub Lite

以下部分概述了每项服务之间的一些主要区别 。其中包括 注意事项:

  • 数据存放区域和复制
  • 分发模式
  • 并行处理和排序
  • 重放和完全清除
  • 容量管理和价格

数据存放区域和复制

  • Pub/Sub Lite。区域级 Pub/Sub 精简版主题复制 复制到同一区域内的次要可用区可用区级 Pub/Sub 精简版 主题将数据存储在单个可用区中,而无需复制。

  • Pub/Sub。Pub/Sub 跨三个可用区复制数据 单个区域内

关键迁移点

您有必要了解每项服务复制数据的方式不同。

使用 Pub/Sub 时,您可以确保自己的数据存储在 使用 Pub/Sub消息存储服务对区域进行区域处理 政策

  • Pub/Sub 不支持 消息。它始终跨三个可用区复制数据 存储在消息存储政策所指示的区域内

  • 如果您未指定消息存储政策,Pub/Sub 会自动 根据资源位置确定消息的存储位置 限制组织 政策。如果 则 Pub/Sub 会允许所有 并自动选择一个区域来存储消息。

分发模式

关键迁移点

如果您想在 Pub/Sub 中复制 Pub/Sub Lite 行为( 低延迟和高效率),使用 StreamingPull API。作为替代方案,您可以将 Pub/Sub 使用推送 送货

并行处理和排序

  • Pub/Sub Lite。Pub/Sub Lite 支持 。

  • Pub/Sub。Pub/Sub 支持每条消息的并行处理。

关键迁移点

Pub/Sub 不是基于分区的解决方案。Pub/Sub 消息 同时处理,这意味着无法保证消息顺序。如果 应用需要消息排序,请使用 Pub/Sub 排序 密钥

在 Pub/Sub Lite 中使用导出订阅时, Pub/Sub 精简版键用作 Pub/Sub 中的排序键 消息。这样可确保邮件能继续按顺序递送。

为了确保与 Pub/Sub 消息兼容,请验证您的 Pub/Sub 精简版密钥仅包含 UTF-8 编码字符。

  • Pub/Sub 精简版密钥以字节形式存储。
  • Pub/Sub 排序键存储为字符串。

Pub/Sub 排序键的发布者吞吐量上限为 1 MBps。 Pub/Sub 中的消息排序只能在单个区域内进行。 要在 Pub/Sub 中接收有序消息,您必须明确启用 消息排序。

重放和完全清除

  • Pub/Sub Lite。Pub/Sub Lite 支持跳转 而无需额外配置。

  • Pub/Sub。Pub/Sub 支持跳转功能,但需要 进行额外配置

关键迁移点

要启用跳转功能,Pub/Sub 要求您明确配置 主题和订阅的相关设置。

  • 主题:您必须配置消息保留时长
  • 订阅:您必须配置已确认消息保留。

如果您需要与 Pub/Sub Lite,或者您的迁移需要重放或完全清除消息,请选择此选项。 无论您的具体要求如何,都可以查找和重新处理 是分阶段迁移的重要保护措施。它支持回滚 在出现意外问题时最大限度地减少数据丢失。

容量管理和价格

关键迁移点

过渡到 Pub/Sub 后,您可以通过以下方式管理容量和价格: 设置配额替换值或申请更改 Pub/Sub 配额 资源。

管理 Pub/Sub 容量的主要原因是遵守严格的 费用要求。如果您没有严格的费用限制,Pub/Sub 高效管理资源,而无需过多干预。Pub/Sub 根据用量计费。有关详情,请参阅 Pub/Sub pricing.

计划迁移

要从 Pub/Sub Lite 迁移到 Pub/Sub,您可以使用 Pub/Sub Lite 导出订阅功能。借助导出订阅功能 分阶段迁移 Pub/Sub Lite 应用。通过采用分阶段方法 您可以迭代更新、测试和监控迁移,从而最大限度地降低 错误和停机时间。

准备工作

  • 评估现有的 Pub/Sub Lite 应用并规划 所需的 Cloud Pub/Sub 功能。
  • 确保 Pub/Sub 满足您的所有功能和业务 要求。

分阶段迁移工作流

以下步骤概述了导出订阅迁移工作流。

  1. 创建相关的 Pub/Sub 主题订阅 与主题相关。
  2. 创建 Pub/Sub Lite 导出订阅
  3. 同时订阅 Pub/Sub 和 Pub/Sub Lite 订阅。
  4. 逐步更新发布者以接收消息 Pub/Sub 主题,而不是 Pub/Sub Lite 主题。
  5. 验证迁移的工作负载是否按预期工作。
  6. 关停 Pub/Sub 精简版发布商和订阅者。

迁移阶段

以下部分详细介绍了分阶段迁移中的每个步骤 工作流。

创建 Pub/Sub 主题和订阅

创建相应的 Pub/Sub 主题及其订阅。 在此阶段,您需要配置所需的主题和订阅 设置,例如消息保留、消息确认和消息存储 政策。

如果需要,建立和设置配额,以防止过度使用和意外情况 billing.最重要的是,我们强烈建议您设置死信 Pub/Sub 精简版主题,用于捕获所有迁移失败的消息 成功上传到 Pub/Sub这样你就能对错误进行排查 确定导出失败的根本原因,并向 正确主题,确保数据不会丢失。

创建 Pub/Sub Lite 导出订阅

为每个主题创建要导出的 Pub/Sub Lite 导出订阅 从 Pub/Sub Lite 主题转发到其对应的 Pub/Sub 主题。 无需为每个导出单独设置吞吐量容量 订阅,请使用 Pub/Sub Lite 预留来高效管理您所有 统一导出订阅。到此阶段结束时,您的 Pub/Sub Lite 和 Pub/Sub 从导出订阅生效的那一刻起,两个主题都会收到相同的消息 创建。

然后,您可以使用 Pub/Sub 主题 分阶段开发和测试订阅者客户端。这种方法 最大限度地减少对现有 Pub/Sub Lite 应用的中断。

双订阅 Pub/Sub Lite 和 Pub/Sub 主题

在开发环境中,更新订阅者客户端以读取消息 使用适当的 Pub/Sub 主题, 客户端库。与 Pub/Sub Lite 不同,Pub/Sub 提供多种服务。与 Pub/Sub Lite 不同,Pub/Sub 提供多种 发送模式(拉取和推),请选择 应用的要求

  • 要模拟与 Pub/Sub Lite 相同的行为,请配置您的 使用 StreamingPull API 的 Pub/Sub 实例。

  • 在具有多个使用方应用的系统中,逐步迁移各个使用方应用 对您的应用进行监控。对于每个订阅程序应用,运行 Pub/Sub Lite 订阅者和 以便验证新模型的行为和性能, 订阅者。密切监控两个订阅者,以确保消息传送 一致性、错误处理和整体功能。在所有订阅者之后 已成功迁移和验证,则停用旧版 Pub/Sub Lite 订阅者客户端。

更新发布商

当所有订阅者成功接收来自 Pub/Sub,您可以逐步更新发布商 将消息直接发送到 Pub/Sub 主题。为此,请更新您的发布商 使用 Pub/Sub 客户端库。这可确保您可以 将流量从 Pub/Sub Lite 逐步转移到 Pub/Sub。

停用 Pub/Sub Lite

在成功将所有订阅者和发布商迁移到 Pub/Sub,您可以关停 Pub/Sub Lite 资源。这个 可帮助您避免为未使用的基础架构产生不必要的费用。

后续步骤