Todos os produtos
Search
Central de documentação

ApsaraMQ for RocketMQ:Dead-letter queues

Última atualização: Jun 27, 2026

Quando um consumidor não consegue processar uma mensagem após atingir o número máximo de tentativas, o ApsaraMQ for RocketMQ a move para uma fila de mensagens mortas. Essas mensagens geralmente indicam bug no consumidor, falha em dependência downstream ou formato incompatível. Após corrigir a causa raiz, reenvie as mensagens pelo console para reprocessamento. Se não for possível resolver o problema imediatamente, exporte as mensagens para evitar perda de dados antes do fim do período de retenção de 3 dias. Para mais informações sobre o comportamento de novas tentativas, consulte Nova tentativa de mensagem.

Principais características

Característica

Detalhes

Escopo

Cada fila de mensagens mortas pertence a um grupo de consumidores, e não a uma instância individual. Todas as mensagens mortas do mesmo grupo vão para a mesma fila, independentemente do tópico original.

Criação

Sob demanda. O sistema cria a fila apenas quando o grupo gera a primeira mensagem morta.

Retenção

As mensagens mortas expiram após 3 dias (mesmo período das mensagens normais). O sistema exclui mensagens expiradas automaticamente.

Entrega normal

Mensagens mortas não podem ser consumidas pela entrega normal. Reenvie-as pelo console após corrigir o problema.

Diagnosticar mensagens mortas

Ao identificar mensagens em uma fila de mensagens mortas, investigue a causa raiz antes de reenviá-las:

  1. Verifique os logs do consumidor em busca de exceções ou erros durante o processamento da mensagem.

  2. Inspecione o conteúdo da mensagem: consulte-a por ID e revise o corpo e as propriedades para identificar dados malformados ou inesperados.

  3. Valide as dependências downstream: confirme se bancos de dados, APIs ou outros serviços dos quais o consumidor depende estavam disponíveis no momento da falha.

  4. Revise as configurações de timeout do consumidor: garanta tempo suficiente para processar as mensagens antes que o tempo limite seja atingido e acione uma nova tentativa.

Consultar mensagens mortas

O ApsaraMQ for RocketMQ oferece dois métodos de consulta no console:

Método

Entrada

Tipo de correspondência

Mais indicado para

Por Group ID

Group ID + intervalo de tempo

Correspondência por intervalo

Navegar por todas as mensagens mortas em uma janela de tempo

Por Message ID

Group ID + Message ID

Correspondência exata

Localizar uma mensagem específica

Etapas

  1. Faça login no console do ApsaraMQ for RocketMQ. No painel de navegação à esquerda, clique em Instances.

  2. Na barra de navegação superior, selecione uma região, como China (Hangzhou). Na página Instances, clique no nome da instância que deseja gerenciar.

  3. No painel de navegação à esquerda, clique em Dead-letter Queues.

  4. Na página Dead-letter Queues, selecione um método de consulta:

    • Query by Group ID: especifique um Group ID e um intervalo de tempo para recuperar todas as mensagens mortas correspondentes.

      Nota

      O horário de geração de uma mensagem morta corresponde ao momento em que ela entrou na fila após esgotar todas as tentativas, e não ao envio original.

    • Query by Message ID: especifique um Group ID e um Message ID para localizar uma mensagem específica.

Reenviar mensagens mortas

Após identificar e corrigir a causa raiz, reenvie as mensagens mortas pelo console para tentar o consumo novamente.

Importante
  • Não é possível reenviar mensagens ordenadas a partir de uma fila de mensagens mortas. Exporte-as e processe-as manualmente.

  • As mensagens reenviadas permanecem na fila de mensagens mortas e são excluídas automaticamente após o término do período de retenção.

Reenviar uma única mensagem

  1. Consulte a mensagem morta usando qualquer um dos métodos acima.

  2. Na lista de mensagens, localize a mensagem desejada e clique em More na coluna Actions.

  3. Selecione Resend.

Reenviar várias mensagens

  1. Consulte as mensagens mortas por Group ID.

  2. Selecione as mensagens a serem reenviadas.

  3. Clique em Batch Resend Messages.

Exportar mensagens mortas

Exporte as mensagens para preservá-las antes do fim do período de retenção de 3 dias. Os arquivos exportados estão no formato CSV.

Exportar uma única mensagem

  1. Consulte a mensagem morta usando qualquer um dos métodos acima.

  2. Na lista de mensagens, localize a mensagem desejada e clique em More na coluna Actions.

  3. Selecione Export Message.

Exportar várias mensagens

  1. Consulte as mensagens mortas por Group ID.

  2. Selecione as mensagens a serem exportadas.

  3. Clique em Batch Export Messages.

Campos exportados

Campo

Descrição

instanceId

ID da instância

topic

Tópico ao qual a mensagem pertence

msgId

ID da mensagem

bornHost

URL do produtor que gerou a mensagem

bornTimestamp

Timestamp de produção da mensagem

storeTimestamp

Timestamp de armazenamento da mensagem pelo broker

reconsumeTimes

Número de tentativas de consumo com falha

properties

Atributos da mensagem no formato JSON

body

Corpo da mensagem codificado em Base64

bodyCRC

Valor CRC (Cyclic Redundancy Check) do corpo da mensagem

Próximos passos

  • Nova tentativa de mensagem: entenda como os intervalos e o limite máximo de tentativas determinam quando uma mensagem se torna morta.