Grupos de consumidores e rebalanceamento
Entenda como os grupos de consumidores do Kafka escalam o consumo, como as partições são atribuídas e o que acontece durante um rebalanceamento, com o Spring Kafka em mente.
Grupos de consumidores e rebalanceamento é uma aula grátis de Advanced Spring Boot 4: Event-Driven Architecture (Kafka) no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Advanced Spring Boot 4: Event-Driven Architecture (Kafka), e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Advanced Spring Boot 4: Event-Driven Architecture (Kafka) inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em 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.
Perguntas Frequentes
A aula “Grupos de consumidores e rebalanceamento” é grátis?
Sim — o texto completo de “Grupos de consumidores e rebalanceamento” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Advanced Spring Boot 4: Event-Driven Architecture (Kafka), atualize para CoddyKit PRO. O curso de Advanced Spring Boot 4: Event-Driven Architecture (Kafka) inclui 4 aulas no total.
O que vou aprender em “Grupos de consumidores e rebalanceamento”?
Entenda como os grupos de consumidores do Kafka escalam o consumo, como as partições são atribuídas e o que acontece durante um rebalanceamento, com o Spring Kafka em mente. Você pratica Advanced Spring Boot 4: Event-Driven Architecture (Kafka) com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Advanced Spring Boot 4: Event-Driven Architecture (Kafka)?
Nenhuma experiência prévia é necessária. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Grupos de consumidores e rebalanceamento”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Advanced Spring Boot 4: Event-Driven Architecture (Kafka)?
Sim. Cada aula de Advanced Spring Boot 4: Event-Driven Architecture (Kafka) inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Visão geral da arquitetura do Kafka
- Tópicos, partições e deslocamentos
- Configuração do Kafka local com Docker
- Grupos de consumidores e rebalanceamento