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