Apache Kafka
Una piattaforma open source di event streaming distribuito che conserva flussi di record in un log replicato e partizionato, così molte applicazioni possono leggerli e rileggerli.
Foto: Stephen Dawson / Unsplash
Apache Kafka è un log distribuito mantenuto dalla Apache Software Foundation. I producer accodano record a dei topic, ogni topic è diviso in partizioni distribuite su un cluster di broker e i consumer leggono al proprio ritmo tenendo traccia di un offset. A differenza di una classica coda di messaggi, Kafka non cancella un record dopo la lettura: i record restano per un periodo di retention fissato per ogni topic, così una nuova applicazione può partire dall’inizio e, dopo la correzione di un errore, i dati si possono rielaborare dallo storico. Per questo è una dorsale diffusa per l’elaborazione in streaming e per alimentare database e data lake.
Nell’IoT Kafka di solito sta dietro lo strato dei dispositivi, non davanti. I suoi client si aspettano server stabili e ben connessi, quindi i dispositivi parlano MQTT con un broker e un bridge o un connettore porta i dati in Kafka, dove analisi, allarmi e archiviazione consumano lo stesso stream. I gateway su reti affidabili a volte producono direttamente su Kafka. Il compromesso è il peso operativo: un cluster da gestire, dimensionare e proteggere. Vedi La pipeline di dati IoT.
Parte del Glossario IoT. Hai trovato un errore o manca un termine? Scrivici.