Pular para o conteúdo principal

Pergunta 31 de 50

O que é Replay?

PlenoSênior

Pergunta

"O que é Replay no Kafka?"

O que o entrevistador quer avaliar

Se você conecta replay a um caso de uso real (não só a definição técnica) e entende sua dependência da retenção.

Resposta rápida

Replay é mover a posição de leitura de um Consumer Group para um ponto anterior no log, reprocessando eventos que já haviam sido consumidos — ou lendo pela primeira vez eventos antigos, no caso de um Consumer Group novo.

Resposta nível Sênior

Tecnicamente, replay é resetar o offset commitado de um Consumer Group (via kafka-consumer-groups.sh ou ferramenta equivalente) e deixar o consumer avançar normalmente a partir dali. Os três usos mais comuns: corrigir um bug de processamento (corrigir o código e reprocessar o intervalo afetado), popular um sistema novo com histórico existente (um Consumer Group novo lendo desde o início da retenção), e reconstruir um estado derivado, como um índice de busca. O requisito não óbvio é que replay só funciona dentro da janela de retenção — e que, em produção, exige que o consumer seja idempotente, porque ele vai reprocessar eventos que já geraram efeitos colaterais na primeira vez.

Explicação aprofundada

Veja "Replay: reprocessando o que já foi lido" no Capítulo 8.

Exemplo financeiro

Um bug no extrato-service gerou lançamentos incorretos nos últimos 3 dias. Depois de corrigir o bug, o time reseta o offset do Consumer Group para 3 dias atrás — o serviço reconstrói os lançamentos corretamente, assumindo que a operação seja idempotente (um upsert por lançamento, não um incremento).

"Replay é só resetar o offset, sem mais consequências"

Resetar o offset é a parte fácil. Replay reprocessa eventos que já geraram efeitos colaterais na primeira vez — se o consumer não for idempotente, ele duplica esses efeitos (notificações, créditos, e-mails).

Pode vir a seguir

Prováveis follow-ups: "como o Kafka consegue reler mensagens já consumidas?" e "qual a diferença entre Replay e SQS DLQ Redrive?".

Capítulos relacionados