Scalare orizzontalmente i sistemi di streaming
Concetti di Streaming
Mike Metzger
Data Engineer
Ripasso: scalabilità orizzontale
- Invece di scalare "in alto", scala "in largo"
- Di solito significa aggiungere capacità aggiungendo unità, non rendendole più veloci/migliori
- Funziona meglio con situazioni altamente parallele
- Attività che si dividono facilmente
- Es. elaborare molte immagini indipendenti
Scalabilità orizzontale con lo streaming
- L'elaborazione in streaming ha in genere ritardi minimi
- Il trasferimento dati tra worker può diventare difficile
- Meglio elaborare l'intero stream in un'unica pipeline
- Crea copie della pipeline
Copie di pipeline
- Quando arrivano gli eventi, entrano in una pipeline
- Tutte le attività restano autocontenute nella pipeline fino al termine
- Scala aggiungendo più pipeline
- Puoi comunque scalare verticalmente dentro una pipeline
Considerazioni aggiuntive
- Potrebbero servire altri componenti
- Load balancer / director
- Mazziere
- Nodo meno occupato
- Alla fine compaiono colli di bottiglia
- Prestazioni di scrittura su disco
- Valuta di accorciare la pipeline di streaming
- Rimuovi la necessità di elaborare subito i dati
Passiamo alla pratica !
Concetti di Streaming
Preparing Video For Download...