Grupos de consumidores y reequilibrio
Comprenda cómo los grupos de consumidores de Kafka escalan el consumo, cómo se asignan las particiones y qué ocurre durante un reequilibrio, teniendo en cuenta Spring Kafka.
Grupos de consumidores y reequilibrio es una lección gratuita de Advanced Spring Boot 4: Event-Driven Architecture (Kafka) en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Advanced Spring Boot 4: Event-Driven Architecture (Kafka), y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Advanced Spring Boot 4: Event-Driven Architecture (Kafka) incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Why Consumer Groups?
A consumer group lets multiple consumer instances share the work of reading a topic. Kafka assigns each partition to exactly one consumer in the group.
Group ID
Consumers join a group by sharing a group.id. Kafka tracks the offset position per group, so each group reads the topic independently.
spring.kafka.consumer.group-id=order-servicePartitions Drive Parallelism
The number of partitions sets the maximum parallelism. With four partitions, at most four consumers in a group can work at once.
topic orders: 4 partitions
group with 4 consumers -> 1 partition eachExtra Consumers Idle
If a group has more consumers than partitions, the extras sit idle. Scale partitions to scale consumption beyond the current limit.
6 consumers, 4 partitions -> 2 idleWhat Triggers a Rebalance
A rebalance reassigns partitions when group membership changes.
- A consumer joins or leaves
- A consumer is considered dead
- Partitions are added
Rebalance Cost
During a rebalance, consumers stop processing briefly while partitions are reassigned. Frequent rebalances hurt throughput.
Heartbeats and Liveness
Consumers send heartbeats. Missing them past session.timeout.ms marks a consumer dead and triggers a rebalance.
session.timeout.ms = 10000
heartbeat.interval.ms = 3000Poll Loop Health
If processing between polls exceeds max.poll.interval.ms, the consumer is evicted. Keep per-message work bounded or increase the limit.
max.poll.interval.ms = 300000Committing Offsets
Offsets record progress per partition per group. Spring Kafka can auto-commit or commit manually after successful processing for at-least-once delivery.
spring.kafka.consumer.enable-auto-commit=falseCooperative Rebalancing
The cooperative rebalance protocol reassigns only the partitions that must move, avoiding a full stop-the-world reassignment.
partition.assignment.strategy=CooperativeStickyAssignorSpring Kafka Listeners
A @KafkaListener joins the configured group automatically; running multiple app instances scales the group with no code change.
@KafkaListener(topics = "orders", groupId = "order-service")
void onOrder(Order o) { ... }Quick Check
Reason about parallelism.
Recap
You learned that a consumer group shares a topic by assigning each partition to one consumer, so partition count caps parallelism. Rebalances reassign partitions when membership changes and briefly pause processing; heartbeats and poll intervals govern liveness. Cooperative rebalancing and manual offset commits keep Spring Kafka consumers efficient and reliable.
Preguntas frecuentes
¿La lección «Grupos de consumidores y reequilibrio» es gratis?
Sí — el texto completo de «Grupos de consumidores y reequilibrio» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Advanced Spring Boot 4: Event-Driven Architecture (Kafka), actualiza a CoddyKit PRO. El curso de Advanced Spring Boot 4: Event-Driven Architecture (Kafka) incluye 4 lecciones en total.
¿Qué aprenderé en «Grupos de consumidores y reequilibrio»?
Comprenda cómo los grupos de consumidores de Kafka escalan el consumo, cómo se asignan las particiones y qué ocurre durante un reequilibrio, teniendo en cuenta Spring Kafka. Practicas Advanced Spring Boot 4: Event-Driven Architecture (Kafka) con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Advanced Spring Boot 4: Event-Driven Architecture (Kafka)?
No se requiere experiencia previa. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Grupos de consumidores y reequilibrio»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Advanced Spring Boot 4: Event-Driven Architecture (Kafka)?
Sí. Cada lección de Advanced Spring Boot 4: Event-Driven Architecture (Kafka) incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Descripción general de la arquitectura de Kafka
- Topics, particiones y offsets
- Configuración de Kafka local con Docker
- Grupos de consumidores y reequilibrio