Formation Apache Kafka : de zéro à la prod

Kafka consumer group : répartir la consommation — chapitre 4

Comprendre la répartition automatique, le lag, le rééquilibrage et la scalabilité de la consommation.

Réservé aux abonnés

Contexte

Un Kafka consumer group réunit plusieurs consommateurs qui se partagent les partitions d’un topic : chaque partition n’est lue que par un seul membre du groupe. Lorsqu’un système traite un haut volume d’événements, un seul consommateur ne suffit pas. Kafka permet de partager la charge via les groupes de consommateurs, assurant une lecture parallèle, scalable et hautement disponible d’un topic.

Lexique

Groupe de consommateurs

Ensemble de consommateurs se répartissant les partitions.

Rééquilibrage (rebalance)

Redistribution automatique des partitions lorsqu’un consumer rejoint ou quitte le groupe.

Offset

Position du message dans la partition. Stocké par consumer group.

Lag

Différence entre le dernier message produit et le dernier message consommé.

Diagramme

TOPIC ordersP0P1P2P3P4P5GROUPE facturationConsommateur 1P0 + P1Consommateur 2P2 + P3Consommateur 3P4 + P5GROUPE analyticsConsommateurlit P0 à P5Dans un groupe : 1 partition = 1 seul consommateur à la foisChaque groupe lit tout le topic, à son rythme, sans gêner les autresUn 7e consommateur dans « facturation » resterait inactif : 6 partitions max
Schéma Deux groupes lisent le même topic

Comment lire le schéma

  • Au centre, les 6 partitions du topic orders (jaune).
  • À droite, le groupe facturation a 3 consommateurs : Kafka donne 2 partitions à chacun. Ils se partagent le travail.
  • À gauche, le groupe analytics n'a qu'un consommateur : il lit les 6 partitions. Il reçoit pourtant tous les messages, comme facturation.
  • Pour aller plus vite dans un groupe, on ajoute des consommateurs… jusqu'au nombre de partitions, pas au-delà.

La suite de cette leçon est réservée aux abonnés

Les 3 premières leçons de chaque formation sont gratuites. Débloquez la suite pour continuer.