---
title: "Kafka Simulator v1.2 — consumidores e o rebalanceamento"
date: 2026-07-30T00:00:00.000Z
author: "michal"
excerpt: "Grupos de consumidores, estratégias de atribuição, associação estática e os dois timeouts que decidem quando um membro desapareceu. Dez novos cenários que tornam o rebalanceamento — o momento mais mal compreendido do Kafka — algo que dá para observar em vez de adivinhar."
---
Depois do pacote de produtor, a versão v1.2 do [Kafka Simulator](/kafka-simulator/) volta-se para o lado da leitura e o seu evento mais mal compreendido: **o rebalanceamento**. Este pacote adiciona **10 novos cenários**, levando o programa a **33 de 125**.

## O que há na v1.2

Um grupo de consumidores é um problema de coordenação vestido com uma API simples. A v1.2 torna essa coordenação visível:

- **Estratégias de atribuição** — `range`, `roundrobin`, `sticky` e `cooperative-sticky` lado a lado, para veres quais param o mundo e quais movem apenas as partições necessárias.
- **Associação estática (KIP-345)** — por que um membro que reinicia *dentro* de `session.timeout.ms` mantém a sua atribuição e não dispara nenhum rebalanceamento, e o que acontece quando fica em baixo por tempo demais.
- **Os dois timeouts** — `session.timeout.ms` versus `max.poll.interval.ms`: um diz respeito aos heartbeats, o outro a um consumidor que está vivo mas preso no processamento. Falham de formas diferentes, e o simulador mostra ambos.
- **Bloqueio e retoma** — um consumidor que para de fazer poll, é expulso e volta a juntar-se — e exatamente quais partições se movem quando isso acontece.

O rebalanceamento é difícil de ensinar porque só faz sentido como sequência: revogar, atribuir, retomar. Diagramas estáticos comprimem essa sequência numa única seta. Aqui podes percorrê-la e ver a propriedade mudar de mãos uma partição de cada vez.

## Por que isto importa

A maioria dos incidentes de consumidores em produção são, na verdade, incidentes de rebalanceamento — um deploy que parece uma queda, um `max.poll.interval.ms` curto demais para um lote lento, um assignor sticky que move silenciosamente mais do que o esperado. Ver o rebalanceamento em movimento, à velocidade que escolheres, é a forma mais rápida de construir a intuição que torna esses incidentes óbvios em retrospetiva.

Abre o [simulador](/kafka-simulator/), adiciona e mata consumidores, e observa o grupo formar-se de novo.