Sommario:
Definizione - Cosa significa Apache Kafka?
Apache Kafka è un sistema di messaggistica open-source di pubblicazione e sottoscrizione progettato per fornire una gestione rapida, scalabile e tollerante ai guasti dei feed di dati in tempo reale. A differenza del tradizionale software di messaggistica aziendale, Kafka è in grado di gestire tutti i dati che fluiscono attraverso un'azienda e di farlo in tempo quasi reale.
Kafka è scritto in Scala ed è stato originariamente sviluppato da LinkedIn. Da quel momento, diverse aziende lo hanno usato per costruire piattaforme in tempo reale.
Techopedia spiega Apache Kafka
Kafka ha molte somiglianze con i registri delle transazioni e mantiene feed di messaggi negli argomenti. I produttori scrivono dati su argomenti e i consumatori leggono da quegli argomenti, che sono partizionati e replicati su più nodi in un formato di sistema distribuito. Kafka è unico in quanto tratta ogni partizione di argomento come un registro e ad ogni messaggio in una partizione viene assegnato un offset univoco. Conserva tutti i messaggi per un certo periodo di tempo e i consumatori sono responsabili del monitoraggio della loro posizione in ciascun registro. Ciò differisce dai sistemi precedenti, in cui i broker erano responsabili di questo monitoraggio, che limitava notevolmente la capacità del sistema di ridimensionarsi all'aumentare del numero di consumatori. Questa struttura consente a Kafka di supportare molti consumatori e conservare grandi quantità di dati con un sovraccarico molto basso.
Kafka può essere utilizzato:
- Come un broker di messaggi tradizionale
- Per il monitoraggio delle attività del sito Web
- Per l'aggregazione dei registri
- Per l'elaborazione di flussi di big data
Kafka può essere utilizzato insieme a Apache Storm, Apache HBase e Apache Spark per analisi e rendering in tempo reale dei dati di streaming.