Rééquilibrage des consommateurs dans Kafka – Un aperçu
Introduction
Apache Kafka est un système distribué composé de serveurs et de clients qui communiquent via un protocole réseau TCP hautes performances. Nous avons des composants générant des événements (Producteurs) et les composants qui consomment ces événements (Consommateurs). Les consommateurs s’identifient avec un nom de groupe de consommateurs afin que chaque enregistrement publié sur un sujet soit livré à un et un seul consommateur du groupe de consommateurs. Nous pouvons utiliser cette fonctionnalité pour implémenter l’équilibrage de charge entre les nœuds consommateurs.
Rééquilibrage des consommateurs dans Kafka, il s’agit d’un processus par lequel les partitions sont réaffectées entre les consommateurs d’un groupe afin de garantir que chaque consommateur dispose d’un nombre égal de partitions pour traiter les données.
En conséquence, l’efficacité et les performances effectives de Kafka sont maintenues, évitant ainsi toute surcharge ou sous-utilisation d’un consommateur.
Pourquoi le rééquilibrage des consommateurs déclenche-t-il ?
Le rééquilibrage de la consommation dans Kafka peut se produire dans les conditions suivantes :
1. Un consommateur quitte le groupe
2. Un consommateur rejoint un groupe
3. Les partitions sont ajoutées à un sujet
Lorsqu’un consommateur subit une panne de réseau temporaire ou reste inactif trop longtemps, Kafka peut le considérer comme un consommateur défaillant et le supprimer du groupe. Pendant ce temps, Kafka initie un rééquilibrage pour répartir les partitions entre les consommateurs actifs du groupe.
Prenons le sujet T1 avec trois partitions, un consommateur C1, qui est le seul consommateur du groupe G1, et utilisons-le pour nous abonner au sujet T1. Le consommateur C1 recevra tous les messages des trois partitions.
Si nous ajoutons deux consommateurs, C2 et C3, au groupe G1, chaque consommateur ne recevra que les messages d’une seule partition.
Si nous ajoutons à ce groupe plus de consommateurs avec un seul sujet que nous n’avons de partitions, certains consommateurs seront inactifs et ne recevront aucun message.
Comment fonctionne le rééquilibrage ?
Il existe deux types de rééquilibrage, en fonction de la stratégie d’attribution de partition utilisée par le groupe de consommateurs.
Rééquilibrage désireux: Kafka effectue par défaut un rééquilibrage rapide, qui stipule que tous les consommateurs arrêtent de consommer et renoncent à leur appartenance aux partitions pendant une courte période. C’est ce qu’on appelle également un événement « arrêter le monde ».
Ensuite, le consommateur rejoint le groupe et la réaffectation des partitions se produit. Cette fois, il n’y a aucune garantie que le consommateur obtiendra la même partition qu’avant.
Rééquilibrage coopératif: Également appelé rééquilibrage progressif. Cette approche implique de réaffecter uniquement un petit sous-ensemble de partitions d’un consommateur à un autre et de permettre aux consommateurs de continuer à traiter les enregistrements de toutes les partitions qui ne sont pas réaffectées.
Conclusion
Par rapport au rééquilibrage coopératif, le rééquilibrage coopératif présente des avantages évidents. Les consommateurs Kafka qui ne sont pas concernés par le rééquilibrage peuvent continuer à traiter leurs données sans interruption. Heureusement, cet algorithme constitue la stratégie par défaut pour les nouvelles applications de flux Kafka.
VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE
Source link