Apprendere i concetti di Apache Kafka
Apache Kafka è una piattaforma di streaming distribuita utilizzata da molte aziende per numerosi carichi di lavoro batch, nonché casi di utilizzo di integrazione dei dati in tempo reale e di streaming dei dati.

Il seguente elenco definisce alcun concetti di Apache Kafka:
Broker
Apache Kafka è un sistema di messaggistica distribuita. Un cluster Kafka è costituito da un insieme di broker. Un cluster ha un minimo di tre broker.

Messaggi
Un messaggio è un'unità di dati in Kafka. Ciascun messaggio è rappresentato come un record che si articola in due parti: chiave e valore. La chiave viene di solito usata per i dati relativi al messaggio e il valore è il corpo del messaggio. Kafka utilizza i termini record e messaggio in modo interscambiabile.
Argomenti e partizioni
Ogni argomento è un flusso di messaggi denominato. Un argomento è costituito da una o più partizioni. I messaggi di una partizione sono ordinati in base a un numero chiamato offset. Con più partizioni distribuite tra i broker, la scalabilità di un argomento aumenta.
Se un argomento ha più di una partizione, consente di eseguire il feed dei dati in parallelo per aumentare la velocità effettiva distribuendo le partizioni su tutto il cluster. Il numero di partizioni influenza anche il bilanciamento del carico di lavoro tra i consumatori.
Per ulteriori informazioni, vedi Leadership della partizione.

Replica
Per migliorare la disponibilità, ogni argomento può essere replicato su più broker. Per ogni partizione, uno dei broker è il leader e gli altri broker sono i follower.
La replica funziona fintanto che i follower prelevano ripetutamente i messaggi dal leader.

Repliche sincronizzate
Una replica follower che sta tenendo il passo con il leader della partizione è chiamata in-sync. Qualsiasi follower con una replica sincronizzata può diventare leader senza perdere alcun messaggio.
Se il leader della partizione non riesce, viene scelto un altro leader dai follower. Tutte le repliche devono essere generalmente sincronizzate. È accettabile che una replica non sia temporaneamente sincronizzata mentre è in fase di recupero dopo un malfunzionamento.

Produttori
Un produttore è un'applicazione client che pubblica messaggi su uno o più argomenti. Un produttore può eseguire pubblicazioni per uno o più argomenti e può, facoltativamente, scegliere la partizione che memorizza i dati.
È anche possibile configurare il produttore in modo che dia priorità alla velocità o all'affidabilità, scegliendo il livello di riconoscimento che il produttore riceve per i messaggi che pubblica.
Per ulteriori informazioni, consultare Produzione di messaggi.

Consumer
Un consumer è un'applicazione client che legge i messaggi da uno o più argomenti e li elabora. La differenza tra la posizione attuale di un consumatore e il messaggio più recente su una partizione è nota come offset lag.
Se il ritardo aumenta nel tempo, è segno che il consumatore non è in grado di tenere il passo. Nel breve periodo, questo non è un problema, ma alla fine il consumatore potrebbe perdere i messaggi se il periodo di conservazione viene superato.
Per ulteriori informazioni, consultare Utilizzo dei messaggi.

Gruppi di consumer
Un gruppo di consumatori contiene uno o più consumatori che lavorano insieme per elaborare i messaggi di un argomento. I messaggi di una singola partizione vengono elaborati da un consumer in ciascun gruppo.
In qualsiasi momento, ciascuna partizione viene assegnata ad un solo consumatore del gruppo. Questa assegnazione garantisce che i messaggi di ogni partizione vengano elaborati in ordine.
Se in un gruppo esistono più partizioni che consumatori, alcuni consumatori hanno più partizioni. Se esistono più consumatori che partizioni, alcuni consumatori non hanno partizioni.

Ulteriori informazioni
Per ulteriori informazioni, vedi la documentazione diApache Kafka.