Pattern di progettazione per la convalida degli indirizzi di volumi elevati su Google Cloud Platform

Scopo

Il tutorial High Volume Address Validation ti ha aiutato attraverso diversi scenari in cui può essere utilizzata la convalida degli indirizzi per volumi elevati. In questo tutorial ti presenteremo diversi pattern di progettazione all'interno della piattaforma Google Cloud per eseguire la convalida degli indirizzi a volume elevato.

Inizieremo con una panoramica sull'esecuzione di High Volume Address Validation in Google Cloud Platform con Cloud Run, Compute Engine o Google Kubernetes Engine per esecuzioni una tantum. Vedremo poi come questa funzionalità può essere inclusa in una pipeline di dati.

Alla fine di questo articolo, avrai una buona comprensione delle diverse opzioni per eseguire Address Validation in volumi elevati nel tuo ambiente Google Cloud.

Architettura di riferimento su Google Cloud

Questa sezione approfondisce diversi pattern di progettazione per la convalida di indirizzi ad alto volume utilizzando Google Cloud Platform. L'esecuzione sulla piattaforma Google Cloud ti consente l'integrazione con i processi e le pipeline di dati esistenti.

Eseguire una sola volta la convalida di indirizzi per volumi elevati sulla piattaforma Google Cloud

Di seguito è riportata un'architettura di riferimento su come creare un'integrazione su Google Cloud Platform, più adatta per operazioni o test una tantum.

immagine

In questo caso, consigliamo di caricare il file CSV in un bucket Cloud Storage. Lo script High Volume Address Validation può quindi essere eseguito da un ambiente Cloud Run. Tuttavia, puoi eseguirlo in qualsiasi altro ambiente di runtime, come Compute Engine o Google Kubernetes Engine. Il file CSV di output può anche essere caricato nel bucket Cloud Storage.

Esecuzione come pipeline di dati della piattaforma Google Cloud

Il pattern di deployment mostrato nella sezione precedente è ottimo per testare rapidamente la convalida di indirizzi ad alto volume per un utilizzo una tantum. Tuttavia, se hai bisogno di utilizzarla regolarmente come parte di una pipeline di dati, puoi sfruttare meglio le funzionalità native di Google Cloud per renderla più solida. Ecco alcune delle modifiche che puoi apportare:

immagine

  • In questo caso, puoi eseguire il dump dei file CSV nei bucket Cloud Storage.
  • Un job Dataflow può raccogliere gli indirizzi da elaborare e memorizzarli nella cache in BigQuery.
  • La libreria Python di Dataflow può essere estesa per avere una logica di convalida di indirizzi a volume elevato per convalidare gli indirizzi dal job Dataflow.

Esecuzione dello script da una pipeline di dati come processo ricorrente di lunga durata

Un altro approccio comune consiste nel convalidare un batch di indirizzi come parte di una pipeline di dati in modalità flusso come processo ricorrente. Gli indirizzi possono essere inseriti anche in un datastore BigQuery. In questo approccio vedremo come creare una pipeline di dati ricorrente (che deve essere attivata giornalmente/settimanalmente/mensile).

immagine

  • Carica il file CSV iniziale in un bucket Cloud Storage.
  • Utilizza Memorystore come datastore permanente per mantenere lo stato intermedio per il processo a lunga esecuzione.
  • Memorizza nella cache gli indirizzi finali in un datastore BigQuery.
  • Configura Cloud Scheduler per eseguire lo script periodicamente.

Questa architettura presenta i seguenti vantaggi:

  • Utilizzando Cloud Scheduler, la convalida degli indirizzi può essere eseguita periodicamente. Ti consigliamo di riconvalidare gli indirizzi su base mensile o di convalidare eventuali nuovi indirizzi su base mensile/trimestrale. Questa architettura aiuta a risolvere questo caso d'uso.
  • Se i dati dei clienti si trovano in BigQuery, gli indirizzi convalidati o i flag di convalida possono essere memorizzati nella cache direttamente lì. Nota: cosa può essere memorizzato nella cache e come viene descritto in dettaglio nell'articolo sulla convalida di indirizzi a volume elevato.

  • L'utilizzo di Memorystore offre una maggiore resilienza e capacità di elaborare più indirizzi. Questo passaggio aggiunge una statefulness all'intera pipeline di elaborazione, necessaria per gestire set di dati di indirizzi molto grandi. Qui è possibile utilizzare anche altre tecnologie di database come Cloud SQL[https://cloud.google.com/sql] o qualsiasi altra funzionalità di database offerta dalla piattaforma Google Cloud. Tuttavia, riteniamo che l'archivio di memoria sia perfetto per bilanciare le esigenze di scalabilità e semplicità, dovrebbe quindi essere la prima scelta.

Conclusione

Applicando i pattern descritti qui, puoi utilizzare l'API Address Validation per diversi casi d'uso e casi d'uso diversi su Google Cloud Platform.

Abbiamo scritto una libreria Python open source per aiutarti a iniziare con i casi d'uso descritti sopra. Può essere richiamato da una riga di comando sul computer o da Google Cloud Platform o altri cloud provider.

Scopri di più su come utilizzare la libreria in questo articolo.

Passaggi successivi

Scarica il white paper Migliora pagamento, consegna e operazioni con indirizzi affidabili e guarda il webinar Miglioramento di checkout, consegna e operazioni con Address Validation .

Ulteriori letture suggerite:

Collaboratori

Google gestisce questo articolo. L'ha scritto in origine i seguenti collaboratori.
Autori principali:

Henrik Valve | Solutions Engineer
Thomas Anglaret | Solutions Engineer
Sarthak Ganguly | Solutions Engineer