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 della piattaforma Google Cloud per eseguire la convalida degli indirizzi ad alto volume.

Inizieremo con una panoramica sull'esecuzione della convalida degli indirizzi ad alto volume nella piattaforma 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 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. Se esegui il servizio sulla piattaforma Google Cloud, puoi integrarlo con le pipeline di dati e i processi 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, ti consigliamo di caricare il file CSV in un bucket Cloud Storage. Lo script di convalida degli indirizzi ad alto volume 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 implementazione mostrato nella sezione precedente è ideale per testare rapidamente la convalida degli 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 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 avere la logica per la convalida degli indirizzi ad alto volume 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 è convalidare un batch di indirizzi nell'ambito di una pipeline di dati in streaming come processo ricorrente. Potresti anche avere gli indirizzi in un data store BigQuery. In questo approccio vedremo come creare una pipeline di dati ricorrente (che deve essere attivata quotidianamente/settimanalmente/mensilmente)

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 archivio dati 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 convalidare nuovamente gli indirizzi su base mensile o di convalidare i 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 gli indicatori di convalida possono essere memorizzati nella cache direttamente lì. Nota: cosa può essere memorizzato nella cache e come viene descritto nel dettaglio nell'articolo sulla convalida degli indirizzi ad alto volume

  • L'utilizzo di Memorystore offre una maggiore resilienza e la possibilità di elaborare più indirizzi. Questi passaggi aggiungono uno stato all'intera pipeline di elaborazione, necessario per gestire set di dati di indirizzi molto grandi. Anche altre tecnologie di database come Cloud SQL[https://cloud.google.com/sql] o qualsiasi altro tipo di database offerto dalla piattaforma Google Cloud possono essere utilizzate qui. 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 da diversi casi d'uso sulla piattaforma Google Cloud.

Abbiamo scritto una libreria Python open source per aiutarti a iniziare a utilizzare 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 il pagamento, la consegna e le operazioni con indirizzi affidabili e guarda il webinar Migliorare il pagamento, la consegna e le operazioni con la convalida degli indirizzi .

Ulteriori letture suggerite:

Collaboratori

Questo articolo è gestito da Google. È stato originariamente scritto dai seguenti collaboratori.
Autori principali:

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