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

Scopo

Il tutorial Convalida degli indirizzi per volumi elevati ti ha guidato in diversi scenari in cui è possibile utilizzare la convalida di indirizzi per volumi elevati. In questo tutorial, ti presenteremo diversi pattern di progettazione all'interno di Google Cloud Platform per l'esecuzione della convalida degli indirizzi ad alto volume.

Inizieremo con una panoramica sull'esecuzione della convalida degli indirizzi per volumi elevati nella piattaforma Google Cloud con Cloud Run, Compute Engine o Google Kubernetes Engine per le esecuzioni una tantum. Vedremo poi come includere questa funzionalità in una pipeline di dati.

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

Architettura di riferimento sulla piattaforma Google Cloud

Questa sezione approfondisce i diversi pattern di progettazione per la convalida degli indirizzi per volumi elevati utilizzando la piattaforma Google Cloud. Se esegui l'esecuzione sulla piattaforma Google Cloud, puoi integrarla con i processi e le pipeline di dati esistenti.

Esecuzione una tantum della convalida degli indirizzi per volumi elevati sulla piattaforma Google Cloud

Di seguito è riportata un'architettura di riferimento che illustra come creare un'integrazione sulla piattaforma Google Cloud, 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 Convalida indirizzo per volumi elevati può quindi essere eseguito da un ambiente Cloud Run. ma 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.

In esecuzione come pipeline di dati di Google Cloud

Il pattern di deployment mostrato nella sezione precedente è ottimo per testare rapidamente la convalida degli indirizzi per volumi elevati 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 Platform 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ò scegliere gli indirizzi da elaborare e quindi memorizzarli nella cache in BigQuery.
  • La libreria Python Dataflow può essere estesa in modo da avere la logica per la convalida degli indirizzi di volumi elevati per convalidare gli indirizzi del job Dataflow.

Esecuzione dello script da una pipeline di dati come un 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 un processo ricorrente. Gli indirizzi possono essere inseriti anche in un datastore BigQuery. In questo approccio vedremo come creare una pipeline di dati ricorrenti (che deve essere attivata ogni giorno/settimana/mese)

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. Potrebbe essere opportuno riconvalidare gli indirizzi su base mensile o convalidare eventuali nuovi indirizzi su base mensile/trimestrale. Questa architettura è utile per risolvere il 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 è descritto nel dettaglio nell'articolo Convalida degli indirizzi per volumi elevati

  • L'utilizzo di Memorystore offre resilienza e capacità maggiori di elaborare più indirizzi. Questo passaggio aggiunge uno statefulness all'intera pipeline di elaborazione, necessaria per gestire set di dati di indirizzi di grandi dimensioni. Anche altre tecnologie di database come Cloud SQL[https://cloud.google.com/sql] o qualsiasi altro tipo di database offerto da Google Cloud Platform possono essere utilizzate qui. Tuttavia, riteniamo che l'assenza di memoria perfetta bilancia le esigenze di scalabilità e semplicità, pertanto dovrebbe essere la prima scelta.

Conclusione

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

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

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

Passaggi successivi

Scarica il white paper Migliorare la procedura di pagamento, la consegna e le operazioni con indirizzi affidabili e guardare il webinar Migliorare procedura di pagamento, consegna e operazioni con Address Validation .

Ulteriore lettura suggerita:

Collaboratori

Google gestisce questo articolo. I seguenti collaboratori lo hanno scritto in origine.
Autori principali:

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