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

Obiettivo

Il tutorial sulla convalida degli indirizzi ad alto volume ti ha guidato attraverso diversi scenari in cui è possibile utilizzare la convalida degli indirizzi ad alto volume. 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 di Address Validation ad alto volume in Google Cloud con Cloud Run, Compute Engine o Google Kubernetes Engine per le esecuzioni una tantum. Vedremo poi come questa funzionalità può essere inclusa in una pipeline di dati.

Al termine di questo articolo, dovresti avere una buona conoscenza delle diverse opzioni per eseguire la convalida degli indirizzi ad alto volume nel tuo ambiente Google Cloud.

Architettura di riferimento su Google Cloud Platform

Questa sezione approfondisce i diversi pattern di progettazione per la convalida degli indirizzi ad alto volume utilizzando Google Cloud Platform. Eseguendo l'operazione su Google Cloud Platform, puoi integrarla con i processi e le pipeline di dati esistenti.

Eseguire la convalida degli indirizzi ad alto volume una tantum su Google Cloud

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

immagine

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

Eseguire come pipeline di dati di Google Cloud Platform

Il pattern di deployment mostrato nella sezione precedente è ideale per testare rapidamente Address Validation ad alto volume per un utilizzo una tantum. Tuttavia, se devi utilizzarlo regolarmente come parte di una pipeline di dati, puoi sfruttare meglio le funzionalità native di Google Cloud Platform per renderlo più solido. Ecco alcune delle modifiche che puoi apportare:

immagine

  • In questo caso, puoi scaricare i file CSV nei bucket Cloud Storage.
  • Un job Dataflow può recuperare gli indirizzi da elaborare e poi memorizzarli nella cache in BigQuery.
  • La libreria Python di Dataflow può essere estesa per includere la logica per la convalida degli indirizzi ad alto volume per convalidare gli indirizzi dal job Dataflow.

Eseguire lo 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 di streaming come processo ricorrente. Potresti anche avere gli indirizzi in un datastore BigQuery. In questo approccio, vedremo come creare una pipeline di dati ricorrente (che deve essere attivata giornalmente/settimanalmente/mensilmente).

immagine

  • Carica il file CSV iniziale in un bucket Cloud Storage.
  • Utilizza Memorystore come datastore persistente per mantenere lo stato intermedio per il processo di lunga durata.
  • Memorizza nella cache gli indirizzi finali in un BigQuery datastore.
  • 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. Potresti voler riconvalidare gli indirizzi su base mensile o convalidare i nuovi indirizzi su base mensile/trimestrale. Questa architettura aiuta a risolvere questo caso d'uso.
  • Se i dati dei clienti sono 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 in dettaglio nell'articolo Convalida degli indirizzi ad alto volume.

  • L'utilizzo di Memorystore offre una maggiore resilienza e la possibilità di elaborare più indirizzi. Questo passaggio aggiunge uno stato all'intera pipeline di elaborazione, necessario per la gestione di set di dati di indirizzi di grandi dimensioni. Qui possono essere utilizzate anche altre tecnologie di database come Cloud SQL[https://cloud.google.com/sql] o qualsiasi altro tipo di database offerto da Google Cloud Platform. Tuttavia, riteniamo che Memorystore bilanci perfettamente le esigenze di scalabilità e semplicità, quindi dovrebbe essere la prima scelta.

Conclusione

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

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

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

Passaggi successivi

Scarica il white paper Migliorare l'acquisto rapido, la consegna e le operazioni con indirizzi affidabili e guarda il webinar Migliorare l'acquisto rapido, la consegna e le operazioni con Address Validation .

Letture consigliate:

Collaboratori

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

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