Advanced Spring Boot 4: Event-Driven Architecture (Kafka) · Aula

Ouvintes de rebalanceamento e associação estática

Aprenda como os rebalanceamentos de grupos de consumidores interrompem o processamento e como ouvintes de rebalanceamento, junto à associação estática, minimizam o tempo de inatividade e a perda de estado.

Aula 4 de 413 etapas

Ouvintes de rebalanceamento e associação estática é 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.

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-1

Session 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: 3000

Cooperative 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.CooperativeStickyAssignor

Avoiding 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.
Grátis para começar

Aprenda Advanced Spring Boot 4: Event-Driven Architecture (Kafka) com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
12
Aulas
48

Perguntas Frequentes

A aula “Ouvintes de rebalanceamento e associação estática” é grátis?

Sim — o texto completo de “Ouvintes de rebalanceamento e associação estática” é 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 “Ouvintes de rebalanceamento e associação estática”?

Aprenda como os rebalanceamentos de grupos de consumidores interrompem o processamento e como ouvintes de rebalanceamento, junto à associação estática, minimizam o tempo de inatividade e a perda de e… 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 “Ouvintes de rebalanceamento e associação estática”?

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

  1. Confirmação manual de deslocamentos
  2. Pausando e retomando consumidores
  3. Concorrência e gerenciamento de threads
  4. Ouvintes de rebalanceamento e associação estática
← Voltar para Advanced Spring Boot 4: Event-Driven Architecture (Kafka)