Google Cloud Platform 上大量地址验证的设计模式

目标

大容量地址验证教程引导您了解了可以使用大容量地址验证的不同场景。在本教程中,我们将向您介绍 Google Cloud Platform 中用于运行大批量地址验证的不同设计模式。

我们首先简要介绍一下如何使用 Cloud Run、Compute Engine 或 Google Kubernetes Engine 在 Google Cloud Platform 中运行一次性地址验证。然后,我们将了解如何将此功能纳入数据流水线。

读完本文后,您应该已经充分了解在 Google Cloud 环境中大量运行地址验证的不同选项。

Google Cloud Platform 上的参考架构

本部分深入介绍使用 Google Cloud Platform 进行大批量地址验证的不同设计模式。通过在 Google Cloud Platform 上运行,您可以与现有流程和数据流水线集成。

在 Google Cloud Platform 上一次性运行大量地址验证

下图是一个参考架构,介绍如何在 Google Cloud Platform 上构建更适合一次性操作或测试的集成。

图片

在这种情况下,我们建议您将 CSV 文件上传到 Cloud Storage 存储分区。然后,您便可在 Cloud Run 环境中运行大容量地址验证脚本。 但您可以在任何其他运行时环境(例如 Compute EngineGoogle Kubernetes Engine)中执行该组件。 输出 CSV 也可以上传到 Cloud Storage 存储分区。

作为 Google Cloud Platform 数据流水线运行

上一部分中显示的部署模式非常适合用于快速测试一次性使用的大批量地址验证。但是,如果您需要在数据流水线中定期使用它,则可以更好地利用 Google Cloud Platform 的原生功能,使其更加强大。您可以做出的一些更改包括:

图片

  • 在这种情况下,您可以在 Cloud Storage 存储分区中转储 CSV 文件。
  • Dataflow 作业可以获取要处理的地址,然后缓存在 BigQuery 中。
  • Dataflow Python 库可以进行扩展,使其具有用于大批量地址验证的逻辑,以验证 Dataflow 作业中的地址。

将数据流水线中的脚本作为一个持久的周期性过程运行

另一种常见方法是,在流式数据流水线中周期性验证一批地址。您可能还在 BigQuery 数据存储区中拥有这些地址。在此方法中,我们将了解如何构建周期性数据流水线(需要每天/每周/每月触发)

图片

  • 将初始 CSV 文件上传到 Cloud Storage 存储分区。
  • 使用 Memorystore 作为持久性数据存储区,以维护长时间运行的进程的中间状态。
  • BigQuery 数据存储区中缓存最终地址。
  • 设置 Cloud Scheduler 以定期运行脚本。

此架构具有以下优势:

  • 使用 Cloud Scheduler,可以定期进行地址验证。您可能需要每月重新验证地址,或者每月/每季度验证任何新地址。该架构有助于解决该用例。
  • 如果客户数据在 BigQuery 中,则经过验证的地址或验证标志可以直接缓存到那里。 注意:“大容量地址验证”一文中详细介绍了可缓存的内容以及如何缓存

  • 使用 Memorystore 具有更高的弹性,能够处理更多地址。此步骤将为整个处理流水线添加有状态性,这是处理非常大的地址数据集所必需的。 此处也可以使用 Cloud SQL[https://cloud.google.com/sql] 等其他数据库技术,或 Google Cloud Platform 提供的其他任何形式的数据库。不过,我们认为内存存储无法完美平衡扩缩和简单性需求,因此应该是首选。

总结

通过应用此处所述的模式,您可以将 Address Validation API 用于 Google Cloud Platform 上的不同用例和不同用例。

我们编写了一个开源 Python 库,以帮助您开始使用上述用例。您可以从计算机上的命令行调用,也可以通过 Google Cloud Platform 或其他云服务提供商调用。

如需详细了解如何使用该库,请参阅这篇文章

后续步骤

下载利用可靠地址改善结账、配送和运营 白皮书,并查看利用地址验证改进结账、配送和运营 在线讲座。

建议深入阅读:

贡献者

本文由 Google 维护。该博文最初由以下贡献者编写。
首席作者:

Henrik Valve | 解决方案工程师
Thomas Anglaret | 解决方案工程师
Sarthak Ganguly | 解决方案工程师