Apache Kafka - Architecture de cluster

Jetez un œil à l'illustration suivante. Il montre le diagramme de cluster de Kafka.

Le tableau suivant décrit chacun des composants illustrés dans le diagramme ci-dessus.

S. Non Composants et description
1

Broker

Le cluster Kafka se compose généralement de plusieurs courtiers pour maintenir l'équilibre de la charge. Les courtiers Kafka sont sans état, ils utilisent donc ZooKeeper pour maintenir leur état de cluster. Une instance de courtier Kafka peut gérer des centaines de milliers de lectures et d'écritures par seconde et chaque courtier peut gérer des To de messages sans impact sur les performances. L'élection du leader du courtier Kafka peut être effectuée par ZooKeeper.

2

ZooKeeper

ZooKeeper est utilisé pour gérer et coordonner le courtier Kafka. Le service ZooKeeper est principalement utilisé pour informer le producteur et le consommateur de la présence de tout nouveau courtier dans le système Kafka ou de la défaillance du courtier dans le système Kafka. Conformément à la notification reçue par le gardien de zoo concernant la présence ou l'échec du courtier, le producteur et le consommateur prennent une décision et commencent à coordonner leur tâche avec un autre courtier.

3

Producers

Les producteurs transmettent les données aux courtiers. Lorsque le nouveau courtier est démarré, tous les producteurs le recherchent et envoient automatiquement un message à ce nouveau courtier. Le producteur Kafka n'attend pas les accusés de réception du courtier et envoie les messages aussi rapidement que le courtier peut les traiter.

4

Consumers

Étant donné que les courtiers Kafka sont sans état, cela signifie que le consommateur doit conserver le nombre de messages consommés en utilisant le décalage de partition. Si le consommateur reconnaît un décalage de message particulier, cela implique que le consommateur a consommé tous les messages précédents. Le consommateur émet une demande d'extraction asynchrone au courtier pour avoir un tampon d'octets prêt à être consommé. Les consommateurs peuvent revenir en arrière ou passer à n'importe quel point d'une partition simplement en fournissant une valeur de décalage. La valeur de décalage du consommateur est notifiée par ZooKeeper.