Écouteurs de rééquilibrage et appartenance statique
Découvrez comment les rééquilibrages des groupes de consommateurs perturbent le traitement et comment les écouteurs de rééquilibrage associés à l’appartenance statique réduisent les interruptions et la perte d’état.
Écouteurs de rééquilibrage et appartenance statique est une leçon Advanced Spring Boot 4: Event-Driven Architecture (Kafka) gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Advanced Spring Boot 4: Event-Driven Architecture (Kafka), et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Advanced Spring Boot 4: Event-Driven Architecture (Kafka) comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
What Triggers a Rebalance
A rebalance reassigns partitions among consumers in a group. It happens when a consumer joins, leaves, crashes, or its session times out.
During a rebalance, processing pauses across the group.
The Cost of Rebalancing
Frequent rebalances hurt throughput: partitions are revoked and reassigned, in-flight work may be reprocessed, and local caches are invalidated.
Advanced consumers actively minimize and react to rebalances.
Rebalance Listener Hooks
A ConsumerRebalanceListener gives you two callbacks:
onPartitionsRevoked— called before partitions are taken away.onPartitionsAssigned— called after new partitions are granted.
Committing on Revoke
Use onPartitionsRevoked to commit offsets for work completed so far, avoiding duplicate processing after reassignment.
public void onPartitionsRevoked(Collection<TopicPartition> parts) {
consumer.commitSync(currentOffsets);
}Wiring It in Spring
In Spring Kafka, implement ConsumerAwareRebalanceListener and set it on the container properties.
factory.getContainerProperties()
.setConsumerRebalanceListener(myRebalanceListener);Static Membership
Static membership assigns each consumer a stable group.instance.id. On a brief restart, the broker keeps its partitions instead of triggering a rebalance.
spring:
kafka:
consumer:
properties:
group.instance.id: consumer-pod-1Session and Heartbeat Timeouts
Static membership relies on session.timeout.ms. If a consumer rejoins within the session window using the same instance id, no rebalance occurs.
session.timeout.ms: 45000
heartbeat.interval.ms: 3000Cooperative Rebalancing
The CooperativeStickyAssignor reassigns only the partitions that must move, instead of revoking everything (stop-the-world). This dramatically reduces rebalance impact.
partition.assignment.strategy: org.apache.kafka.clients.consumer.CooperativeStickyAssignorAvoiding Poll Timeouts
If processing a batch exceeds max.poll.interval.ms, the broker assumes the consumer is dead and rebalances. Keep per-poll work bounded or raise the interval.
Combining Strategies
For resilient consumers, combine static membership (avoid restart churn), cooperative rebalancing (smaller moves), and a rebalance listener (clean offset commits).
Putting It Together
Rebalances are unavoidable but controllable. Listeners let you commit cleanly, static membership avoids needless rebalances on restart, and cooperative assignment limits disruption.
Quick Check
Test your understanding of rebalancing.
Recap
You learned advanced rebalance handling.
- Rebalances pause processing and can reprocess work.
- Rebalance listeners let you commit offsets on revoke.
- Static membership avoids rebalances on brief restarts.
- Cooperative assignment reduces stop-the-world disruption.
Questions Fréquemment Posées
La leçon « Écouteurs de rééquilibrage et appartenance statique » est-elle gratuite ?
Oui — le texte complet de « Écouteurs de rééquilibrage et appartenance statique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Advanced Spring Boot 4: Event-Driven Architecture (Kafka), passe à CoddyKit PRO. Le cours Advanced Spring Boot 4: Event-Driven Architecture (Kafka) comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Écouteurs de rééquilibrage et appartenance statique » ?
Découvrez comment les rééquilibrages des groupes de consommateurs perturbent le traitement et comment les écouteurs de rééquilibrage associés à l’appartenance statique réduisent les interruptions et… Tu pratiques Advanced Spring Boot 4: Event-Driven Architecture (Kafka) avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Advanced Spring Boot 4: Event-Driven Architecture (Kafka) ?
Aucune expérience préalable n'est requise. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Écouteurs de rééquilibrage et appartenance statique » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Advanced Spring Boot 4: Event-Driven Architecture (Kafka) ?
Oui. Chaque leçon Advanced Spring Boot 4: Event-Driven Architecture (Kafka) inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Validation manuelle des décalages
- Mettre en pause et reprendre les consommateurs
- Concurrence et gestion des threads
- Écouteurs de rééquilibrage et appartenance statique