Pergunta 35 de 50
O que é DLQ ou Dead Letter Topic?
Pergunta
"O que é uma DLQ (Dead Letter Queue/Topic)?"
O que o entrevistador quer avaliar
Entendimento do papel da DLQ como mecanismo de isolamento de falha — não apenas "onde as mensagens com erro vão parar".
Resposta rápida
DLQ (Dead Letter Topic, no vocabulário do Kafka) é um tópico separado para onde mensagens que falharam repetidamente são publicadas, depois de esgotadas as tentativas de retry — permitindo investigação manual sem bloquear o processamento das mensagens seguintes.
Resposta nível Sênior
A função da DLQ é isolar o efeito poison pill: sem ela, uma mensagem que falha indefinidamente travaria o processamento de tudo que vem depois dela na mesma partition. Ao mover a mensagem problemática para um tópico separado depois de esgotar as tentativas de retry, o consumer principal segue processando normalmente as mensagens seguintes. A DLQ não corrige o problema — ela só o isola para investigação posterior, seja reprocessamento manual depois de corrigir a causa raiz, seja simplesmente descarte, se a mensagem for de fato inválida.
Explicação aprofundada
Veja "DLQ no Kafka: não é nativa" no Capítulo 9.
Exemplo financeiro
Um evento BoletoGerado com CPF malformado falha nas 3 tentativas de retry configuradas e é publicado em
boletos.gerados.DLT — enquanto isso, os boletos seguintes da mesma partition continuam sendo processados
sem atraso.
"A DLQ corrige o problema automaticamente"
A DLQ apenas isola a mensagem problemática — ela não tenta corrigi-la nem reprocessá-la sozinha. Alguém (ou algum processo) precisa investigar o motivo da falha e decidir o que fazer com a mensagem isolada.
Pode vir a seguir
Prováveis follow-ups: "o Kafka possui DLQ nativa?" e "o que é uma Poison Pill?".
Capítulos relacionados