Pular para o conteúdo principal

Pergunta 24 de 50

O que acontece quando existem mais Partitions que consumidores?

PlenoSênior

Pergunta

"O que acontece se um Consumer Group tiver menos instâncias de consumer do que Partitions o tópico possui?"

O que o entrevistador quer avaliar

O contraponto da pergunta anterior — testa se o candidato entende o cenário oposto e suas implicações de balanceamento de carga, não só o caso "ideal" de 1:1.

Resposta rápida

Alguns consumers recebem mais de uma partition. O processamento continua paralelo — cada partition ainda tem exatamente um consumer atribuído — mas fica desbalanceado, porque os consumers com múltiplas partitions processam mais carga que os demais.

Resposta nível Sênior

O Kafka distribui as partitions restantes entre os consumers disponíveis da forma mais equilibrada possível (dependendo da estratégia de assignor configurada), mas se o número de partitions não é múltiplo do número de consumers, a distribuição nunca é perfeitamente igual — um consumer pode ficar com 3 partitions e outro com 2, por exemplo. Isso não é um problema em si, mas significa que o consumer com mais partitions atribuídas tende a acumular mais consumer lag (Capítulo 15) se o volume por partition for parecido entre elas, porque ele precisa processar o dobro ou triplo de mensagens no mesmo intervalo de tempo.

Explicação aprofundada

Veja "O que acontece com números diferentes de consumers" no Capítulo 6.

Exemplo financeiro

Um tópico com 5 partitions e um Consumer Group com 2 réplicas resulta em uma réplica processando 3 partitions e a outra processando 2 — ainda paralelo, mas com uma réplica absorvendo 50% mais carga que a outra.

"Isso é um problema que preciso corrigir imediatamente"

Nem sempre. É uma distribuição válida e funcional — o alerta real é quando esse desbalanceamento se traduz em consumer lag desproporcional e sustentado em uma das instâncias, sinal de que o paralelismo total do grupo está insuficiente para o volume, não apenas mal distribuído.

Pode vir a seguir

Prováveis follow-ups: "o que é Rebalance?" e "o que acontece quando um Consumer cai?".

Capítulos relacionados