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
Concetti di Streaming

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
Concetti di Streaming

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
Concetti di Streaming

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
Concetti di Streaming

Passiamo alla pratica !

Concetti di Streaming

Preparing Video For Download...