Шаблоны проектирования для массовой проверки адресов на Google Cloud Platform

Цель

В руководстве по высокопроизводительной проверке адресов были рассмотрены различные сценарии использования такой проверки. В этом руководстве мы познакомим вас с различными шаблонами проектирования в Google Cloud Platform для выполнения высокопроизводительной проверки адресов.

Начнём с обзора выполнения высокопроизводительной проверки адресов в Google Cloud Platform с помощью Cloud Run, Compute Engine или Google Kubernetes Engine для однократного выполнения. Затем рассмотрим, как эту возможность можно интегрировать в конвейер обработки данных.

К концу этой статьи у вас должно сложиться хорошее понимание различных вариантов запуска проверки адресов в больших объемах в вашей среде Google Cloud.

Эталонная архитектура на платформе Google Cloud

В этом разделе более подробно рассматриваются различные шаблоны проектирования для высокопроизводительной проверки адресов с использованием платформы Google Cloud Platform . Работа на платформе Google Cloud Platform позволяет интегрировать систему с существующими процессами и конвейерами обработки данных.

Однократное выполнение высокопроизводительной проверки адресов на платформе Google Cloud.

Ниже представлена ​​типовая архитектура интеграции на платформе Google Cloud Platform, которая больше подходит для разовых операций или тестирования.

изображение

В этом случае мы рекомендуем загрузить CSV-файл в хранилище Cloud Storage . Затем скрипт проверки адресов для больших объемов данных можно запустить из среды Cloud Run . Однако вы можете запустить его в любой другой среде выполнения, например, Compute Engine или Google Kubernetes Engine . Полученный CSV-файл также можно загрузить в хранилище Cloud Storage .

Работает как конвейер обработки данных Google Cloud Platform.

Представленная в предыдущем разделе схема развертывания отлично подходит для быстрого тестирования высокопроизводительной проверки адресов при однократном использовании. Однако, если вам необходимо использовать ее регулярно в рамках конвейера обработки данных, вы можете лучше использовать встроенные возможности Google Cloud Platform для повышения ее надежности. Среди возможных изменений можно выделить следующие:

изображение

  • В этом случае вы можете выгружать CSV-файлы в хранилища Cloud Storage .
  • Задача 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. Однако мы считаем, что Memorystore идеально сочетает в себе масштабируемость и простоту, поэтому должен быть предпочтительным выбором.

Заключение

Применяя описанные здесь шаблоны, вы можете использовать API проверки адресов для различных сценариев использования и в различных контекстах на платформе Google Cloud Platform.

Мы разработали библиотеку Python с открытым исходным кодом, которая поможет вам начать работу с описанными выше сценариями использования. Ее можно запустить из командной строки на вашем компьютере, а также из Google Cloud Platform или других облачных провайдеров.

Подробнее о том, как пользоваться библиотекой, вы можете узнать из этой статьи .

Следующие шаги

Загрузите документ «Улучшение процесса оформления заказа, доставки и операций с помощью надежных адресов» и посмотрите вебинар « Улучшение процесса оформления заказа, доставки и операций с помощью проверки адресов» .

Рекомендуемая дополнительная литература:

Авторы

Данная статья поддерживается компанией Google. Ее первоначальный автор — следующие лица.
Основные авторы:

Хенрик Вальв | Инженер по решениям
Томас Англаре | Инженер по решениям
Сартак Гангули | Инженер по решениям