Apache Kafka - Architettura cluster

Dai un'occhiata alla seguente illustrazione. Mostra il diagramma a grappolo di Kafka.

La tabella seguente descrive ciascuno dei componenti mostrati nel diagramma sopra.

S.No Componenti e descrizione
1

Broker

Il cluster Kafka è generalmente costituito da più broker per mantenere l'equilibrio del carico. I broker Kafka sono apolidi, quindi usano ZooKeeper per mantenere lo stato del cluster. Un'istanza del broker Kafka può gestire centinaia di migliaia di letture e scritture al secondo e ogni broker può gestire TB di messaggi senza impatto sulle prestazioni. L'elezione del leader del broker Kafka può essere effettuata da ZooKeeper.

2

ZooKeeper

ZooKeeper viene utilizzato per gestire e coordinare il broker Kafka. Il servizio ZooKeeper viene utilizzato principalmente per informare il produttore e il consumatore della presenza di qualsiasi nuovo broker nel sistema Kafka o di un guasto del broker nel sistema Kafka. In base alla notifica ricevuta dallo Zookeeper in merito alla presenza o al fallimento del broker, il produttore e il consumatore prendono una decisione e iniziano a coordinare il loro compito con un altro broker.

3

Producers

I produttori inviano i dati ai broker. Quando il nuovo broker viene avviato, tutti i produttori lo cercano e inviano automaticamente un messaggio a quel nuovo broker. Il produttore di Kafka non attende i riconoscimenti dal broker e invia i messaggi alla velocità che il broker può gestire.

4

Consumers

Poiché i broker Kafka sono senza stato, il che significa che il consumatore deve mantenere il numero di messaggi consumati utilizzando l'offset della partizione. Se il consumatore riconosce un particolare messaggio di offset, implica che il consumatore ha consumato tutti i messaggi precedenti. Il consumatore invia una richiesta pull asincrona al broker per avere un buffer di byte pronto per l'uso. I consumatori possono riavvolgere o saltare a qualsiasi punto in una partizione semplicemente fornendo un valore di offset. Il valore di offset del consumatore viene notificato da ZooKeeper.