Pular para o conteudo principal

Dead Letter Queue

O que dead letter queue significa, por que nem toda mensagem deve ser reprocessada infinitamente e como isolar falha sem perder rastreabilidade.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O que e

Dead letter queue, ou DLQ, e a fila para onde vao mensagens que não conseguiram ser processadas com segurança.

Em vez de tentar para sempre, o sistema tira aquela mensagem do fluxo principal.

Quando importa

Isso importa quando existe mensagem ruim, dado corrompido ou falha repetida que não some com retry.

Sem DLQ, a mesma mensagem pode:

  • bloquear o consumo
  • gerar looping infinito
  • esconder o problema no meio do barulho

Erro comum

O erro clássico e usar DLQ como cemiterio automático.

Se a mensagem vai para la e ninguém olha, você só mudou o lugar da falha.

Exemplo curto

Um worker recebe um evento com payload inválido.

Depois de algumas tentativas, ele para de reprocessar e manda a mensagem para a DLQ.

Agora o fluxo principal segue e o time consegue inspecionar o caso com contexto.

Por que ajuda

DLQ protege o caminho principal sem apagar a evidência da falha.

Ela não resolve o problema sozinha.

Ela cria um lugar seguro para tratar o que não cabe mais no fluxo normal.

Retry infinito esconde defeito. DLQ separa o que precisa de outra resposta.

Você concluiu este artigo

Continue explorando

Artigos relacionados