le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Broker : si riferisce a un nodo nel cluster Kafka. Un cluster Kafka è costituito da più broker che collaborano per gestire l'archiviazione, la trasmissione e il consumo dei messaggi. Il broker gestisce una o più partizioni.
Argomento : il produttore invia il messaggio all'argomento specificato e il consumatore si iscrive all'argomento per ottenere il messaggio. L'argomento stesso è solo un raggruppamento logico e non ha il concetto di archiviazione fisica.
Partizione : è un sottoinsieme di Topic e l'unità di base per l'archiviazione e l'elaborazione effettiva dei messaggi in Kafka. Ogni argomento può essere suddiviso in più partizioni e ciascuna partizione è una sequenza di messaggi ordinata e immutabile.
Replica: Una partizione può avere più copie.
Broker leader: in più copie di una partizione, il broker responsabile dell'elaborazione di tutte le richieste di lettura e scrittura per la partizione.
SeguaceBroker: In caso di copie multiple di una partizione, il broker responsabile della sincronizzazione dei dati del leader si trova nella partizione.
Il produttore invia il messaggio (record) a Kafka e il consumatore ottiene i dati tramite l'offset (offset, simile a un indice di array).
Allo stesso tempo, ogni partizione avrà il proprio file di registro. Kafka utilizza i file di registro per salvare i dati su disco.
I produttori si connettono al cluster Kafka tramite Bootstrap Broker. Questo passaggio consiste nello stabilire la connessione iniziale e ottenere i metadati del cluster.
Una volta ottenuti questi metadati, il produttore sa chi è il broker leader per ciascuna partizione e può quindi inviare messaggi direttamente al broker leader corretto.
Il produttore deve specificare un argomento quando invia un messaggio, ma il partizionamento è facoltativo.
In Kafka, quando un produttore invia un messaggio a un broker, la prima operazione del broker è registrare il messaggio su disco per garantire la durabilità e l'affidabilità del messaggio.
I consumatori in Kafka appartengono solitamente a un gruppo di consumatori. Ogni gruppo di consumatori ha un ID gruppo univoco. Il concetto di gruppi di consumatori viene utilizzato per ottenere il bilanciamento del carico e il consumo parallelo dei messaggi.
Quando più consumatori appartengono allo stesso gruppo, Kafka assegnerà la partizione Argomento ai consumatori del gruppo.Ciascuna partizione può essere utilizzata da un solo consumatore all'interno del gruppo, che può ottenere il bilanciamento del carico.
Un singolo consumatore si iscrive a un argomento:
Più consumatori appartengono allo stesso gruppo:
Più consumatori appartengono a gruppi diversi:
Kafka creerà nuove partizioni nel cluster. Queste nuove partizioni verranno assegnate a diversi broker per ottenere uno storage bilanciato e un'elevata disponibilità dei dati. Kafka non ridistribuisce o bilancia automaticamente i dati dalle partizioni esistenti a nuove partizioni. Le nuove partizioni sono vuote dal momento in cui vengono create e i dati verranno scritti in queste nuove partizioni solo quando i produttori successivi invieranno messaggi. Il gruppo di consumatori percepirà il cambiamento nel numero di partizioni e attiverà un riequilibrio.
Kafka consente a ciascuna partizione di avere più repliche (Replica), archiviate su broker diversi. Una replica è chiamata Leader ed è responsabile dell'elaborazione di tutte le richieste di lettura e scrittura. Le altre repliche sono Follower e sono responsabili della sincronizzazione dei dati del Leader.
Solo una copia di più copie può leggere e scrivere contemporaneamente, ovvero la copia Leader. Le altre copie diventano copie Follower e vengono utilizzate come backup.