Dataflow è un servizio di elaborazione dati completamente gestito che consente lo sviluppo rapido e semplificato di pipeline di dati in modalità flusso utilizzando le librerie open source Apache Beam. Dataflow riduce al minimo la latenza, i tempi di elaborazione e i costi tramite la scalabilità automatica e l'elaborazione batch.
best practice
Creazione di pipeline di dati pronte per la produzione utilizzando Dataflow: una serie di documenti sull'utilizzo di Dataflow che include la pianificazione, lo sviluppo, il deployment e il monitoraggio delle pipeline Dataflow.
- Panoramica - introduzione alle pipeline di Dataflow.
- Pianificazione: misurazione degli SLO, comprensione dell'impatto di origini dati e sink sulla scalabilità e prestazioni della pipeline e prendendo in considerazione l'alta disponibilità, il ripristino di emergenza e le prestazioni di rete quando si specificano le regioni in cui eseguire i job Dataflow.
- Sviluppo e test: configurazione degli ambienti di deployment, prevenzione della perdita di dati mediante l'utilizzo di code di messaggi non recapitabili per la gestione degli errori e riduzione della latenza e dei costi grazie alla riduzione delle costose operazioni per elemento. Inoltre, è possibile usare il batch per ridurre l'overhead delle prestazioni senza sovraccaricare i servizi esterni, non unire passaggi inadeguati per separare i passaggi per migliorare le prestazioni ed eseguire test end-to-end in pre-produzione per garantire che la pipeline continui a soddisfare i tuoi SLO e altri requisiti di produzione.
- Deployment: integrazione continua (CI) e distribuzione e deployment continui (CD), con considerazioni speciali per il deployment di nuove versioni delle pipeline in modalità flusso. Inoltre, un esempio di pipeline CI/CD e alcune funzionalità per ottimizzare l'utilizzo delle risorse. Infine, abbiamo parlato dell'alta disponibilità, della ridondanza geografica e delle best practice per l'affidabilità delle pipeline, tra cui l'isolamento a livello di regione, l'uso degli snapshot, la gestione degli errori di invio dei job e il ripristino a causa di errori e interruzioni che incidono sulle pipeline in esecuzione.
- Monitoraggio: osserva gli indicatori del livello del servizio (SLI), che sono indicatori importanti delle prestazioni delle pipeline e definisci e misura gli obiettivi del livello del servizio (SLO).