Sistemi di streaming popolari
Concetti di Streaming
Mike Metzger
Data engineer
Strumenti di streaming
- Vari strumenti disponibili in base alle esigenze
- Permette di scegliere lo strumento migliore per il compito
- Sistemi comuni includono:
- Celery
- Kafka
- Spark Streaming
Celery
- Coda di task distribuita / FIFO
- Usata soprattutto come coda di job o task
- Spesso per attività asincrone
- Invio email di reset password
- Evasione ordini digitali
- Ridimensionamento immagini
- Consente elaborazione in tempo reale di molti messaggi
- Offre funzioni di gestione e scalabilità (verticale e orizzontale)
Apache Kafka
- Sistema di event streaming distribuito
- Progettato per inviare eventi tra producer e consumer
- I producer creano eventi su un topic
- I topic sono in pratica messaggi con un formato definito
- I consumer ricevono i nuovi eventi
- Consumer diversi possono gestire gli eventi secondo necessità (logging, trasformazioni, relay, ecc.)
- Gestisce la memorizzazione degli eventi come previsto
- Estremamente potente, ma non banale da configurare

Applicazioni Kafka
- Ottimo per scambiare dati tra più sistemi
- Unica fonte di verità
- Change data capture
- Backup dei dati
- Migrazioni dei sistemi dati
Spark Streaming
- Parte di Apache Spark
- Progettato per elaborare dati in streaming
- Sfrutta Spark per elaborare dati in Scala, Python, SQL, ecc.
- Utile per grandi volumi e per machine learning
- Può passare dal batch allo stream con facilità
- Non pensato per archiviare o registrare eventi, ma per elaborare o modificare i dati
Passiamo alla pratica!
Concetti di Streaming
Preparing Video For Download...