Dataflow è un servizio di elaborazione dei dati completamente gestito che consente lo sviluppo rapido e semplificato di pipeline di dati in streaming 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
Creare pipeline di dati pronte per la produzione con Dataflow: una serie di documenti sull'utilizzo di Dataflow, che include la pianificazione, lo sviluppo, il deployment e il monitoraggio delle pipeline di Dataflow.
- Panoramica: introduzione alle pipeline Dataflow.
- Pianificazione: misura gli SLO, comprendi l'impatto delle origini dati e degli sink sulla scalabilità e sulle prestazioni della pipeline e tieni conto dell'alta disponibilità, ripristino di emergenza e delle prestazioni della rete quando specifichi le regioni in cui eseguire i job Dataflow.
- Sviluppo e test: configurazione degli ambienti di implementazione, 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 mediante la minimizzazione delle costose operazioni per elemento. Inoltre, utilizza il raggruppamento per ridurre il sovraccarico delle prestazioni senza sovraccaricare i servizi esterni, separa i passaggi fusi in modo inappropriato in modo che siano separati per migliorare le prestazioni ed esegui test end-to-end in preproduzione per assicurarti 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 di streaming. Inoltre, un esempio di pipeline CI/CD e alcune funzionalità per ottimizzare l'utilizzo delle risorse. Infine, una discussione sull'alta disponibilità, sulla ridondanza geografica e sulle best practice per l'affidabilità delle pipeline, tra cui l'isolamento regionale, l'utilizzo degli snapshot, la gestione degli errori di invio dei job e il recupero da errori e interruzioni che influiscono sulle pipeline in esecuzione.
- Monitoraggio: osserva gli indicatori del livello del servizio (SLI), che sono indicatori importanti delle prestazioni della pipeline, e definisci e misura gli obiettivi del livello di servizio (SLO).