Em aplicações distribuídas, o ApsaraMQ for RocketMQ é um serviço essencial que fornece desacoplamento assíncrono. Os dados de rastreamento de mensagens desse serviço vinculam as informações de negócios upstream e downstream para ajudar na solução de exceções e na localização de problemas. Este tópico descreve os casos de uso de rastreamentos de mensagens, os parâmetros de rastreamento definidos pelo ApsaraMQ for RocketMQ e como visualizar rastreamentos de mensagens.
Casos de uso
O ApsaraMQ for RocketMQ define pontos de dados importantes no ciclo de vida da mensagem como parâmetros de rastreamento e oferece uma ferramenta de consulta visual. Os rastreamentos de mensagens permitem compreender rapidamente o status dos processos de negócios e identificar exceções.
Os casos de uso típicos para rastreamentos de mensagens incluem:
Cenário 1: Verificar se uma mensagem foi enviada ou consumida com êxito.
Cenário 2: Confirmar a entrega de uma mensagem agendada e atrasada.
Cenário 3: Verificar se uma mensagem transacional foi confirmada (committed) ou revertida (rolled back).
Cenário 4: Consultar a identidade do produtor e do consumidor, além das informações da máquina, para investigar problemas.
Parâmetros de rastreamento
A tabela a seguir descreve os parâmetros de rastreamento fornecidos pelo ApsaraMQ for RocketMQ.
|
Categoria |
Parâmetro |
Descrição |
|
Produtor |
Informações do produtor |
A conta ou o AccessKey ID usado pelo produtor da mensagem. |
|
Hostname |
O hostname da máquina do cliente produtor. |
|
|
Enviado em |
O momento em que o produtor enviou a mensagem. |
|
|
Chegada em |
O momento em que a mensagem foi armazenada no servidor do ApsaraMQ for RocketMQ. |
|
|
Resultado do envio |
O resultado da operação de envio da mensagem. Valores válidos:
|
|
|
Informações básicas da mensagem |
Tipo de mensagem |
|
|
ID da mensagem |
Um identificador de mensagem globalmente exclusivo, gerado automaticamente pelo ApsaraMQ for RocketMQ. |
|
|
Tópico |
O tópico ao qual a mensagem pertence. |
|
|
Chave da mensagem |
Uma chave de negócios definida pelo produtor para identificar exclusivamente uma lógica de negócios. |
|
|
Tag da mensagem |
Uma tag usada para filtrar mensagens dentro de um tópico. |
|
|
Mensagens ordenadas |
MessageGroup |
O MessageGroup definido pelo produtor para uma mensagem ordenada. As mensagens no mesmo MessageGroup são processadas na ordem FIFO (first-in, first-out). |
|
Mensagens transacionais |
Hora do callback de verificação |
O momento do callback de verificação de status da transação para uma mensagem parcial (half message). |
|
Confirmado em |
O momento em que o servidor confirmou (committed) a mensagem transacional. |
|
|
Revertido em |
O momento em que a mensagem transacional foi revertida (rolled back). |
|
|
Mensagens agendadas |
Tempo de atraso predefinido |
O horário de entrega agendado para a mensagem. |
|
Consumidor |
Resultado do consumo |
O resultado de uma tentativa de consumo. Valores válidos:
|
|
Informações do consumidor |
A conta do ApsaraMQ for RocketMQ ou o AccessKey ID que o consumidor usa para assinar mensagens. |
|
|
Hostname |
O hostname da máquina do cliente consumidor. |
|
|
Entrega ordenada |
Indica se o consumo ordenado está ativado para o grupo do consumidor. |
|
|
Hora da entrega |
O momento em que o servidor do ApsaraMQ for RocketMQ entregou a mensagem ao consumidor. |
|
|
Tempo de resposta |
O momento em que o servidor do ApsaraMQ for RocketMQ recebeu o resultado de consumo do consumidor. |
|
|
invisibleDuration |
A duração de invisibilidade da mensagem especificada pelo SimpleConsumer. Para obter mais informações, consulte Política de nova tentativa de consumo do SimpleConsumer. |
|
|
Alterar duração de invisibilidade |
O momento em que o SimpleConsumer chamou a operação ChangeInvisibleDuration. |
|
|
Hora de dead-letter |
O momento em que uma mensagem foi enviada para a fila de dead-letter após falha no consumo. |
Limitações
O recurso de rastreamento de mensagens vem desativado por padrão para clientes que usam SDKs do RocketMQ 4.x/3.x. Para consultar rastreamentos de mensagens no console, ative esse recurso no código. Configure as seguintes definições:
-
Produtor
producer.setAccessChannel(AccessChannel.CLOUD); -
Consumidor
consumer.setAccessChannel(AccessChannel.CLOUD);
Faturamento
Para instâncias por assinatura e pagamento conforme o uso, o rastreamento de mensagens é ativado por padrão e gratuito.
-
Nas instâncias serverless, é possível ativar ou desativar manualmente o rastreamento de mensagens. Para obter mais informações, consulte Ativar ou desativar o rastreamento de mensagens para uma instância serverless.
Se você ativar o rastreamento de mensagens para uma instância serverless, será cobrado com base no número de rastreamentos de mensagens gerados. Para detalhes sobre faturamento, consulte Taxas de rastreamento de mensagens.
Período de retenção de rastreamento de mensagens
Em instâncias por assinatura e pagamento conforme o uso, os rastreamentos de mensagens são armazenados por 3 dias.
Nas instâncias serverless, os rastreamentos de mensagens são armazenados por 14 dias.
Métodos de consulta para rastreamentos de mensagens
O ApsaraMQ for RocketMQ oferece suporte aos seguintes métodos de consulta:
Consulta por ID da mensagem: Realiza uma correspondência exata. Este método rápido e preciso é o mais recomendado.
Consulta por chave da mensagem: Executa uma busca aproximada que retorna até 1.000 rastreamentos. Utilize esta opção apenas se o ID da mensagem não tiver sido registrado, mas uma chave de mensagem distinta tiver sido definida.
Consulta por tópico: Efetua uma consulta por intervalo. Adequado para cenários de baixo volume onde o ID ou a chave da mensagem são desconhecidos. Não é recomendado para uso geral, pois um intervalo de tempo pode conter muitas mensagens não distintas.
Ativar ou desativar o rastreamento de mensagens
Ao desativar o rastreamento de mensagens, os dados de rastreamento da instância serverless não poderão ser armazenados nem consultados, e a opção de consulta de rastreamento de mensagens não aparecerá no console.
Ao ativar o rastreamento de mensagens, haverá cobrança pelos rastreamentos gerados pela instância serverless. Para obter mais informações, consulte Taxas de rastreamento de mensagens.
Faça logon no console do ApsaraMQ for RocketMQ. No painel de navegação à esquerda, clique em Instances.
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.
Na página Instance Details, clique na aba Basic Information. Em seguida, clique em Enable ou Disable ao lado do parâmetro Message Trace.
Na caixa de diálogo exibida, clique em OK.
Consultar rastreamentos de mensagens
Faça logon no console do ApsaraMQ for RocketMQ. No painel de navegação à esquerda, clique em Instances.
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.
-
No painel de navegação à esquerda, clique em Message Traces. Na página Message Traces, selecione um método de consulta, insira as condições e clique em Query.
Os resultados são exibidos em uma tabela que inclui colunas como Message ID, Topic, Tag, Message Key e Creation Time. Na coluna Actions, clique em Message Traces para visualizar os detalhes de rastreamento da mensagem correspondente.
-
Localize a mensagem desejada nos resultados da consulta e clique em Message Trace na coluna Actions. Um painel será exibido com informações detalhadas da mensagem.
O painel de rastreamento de mensagens exibe o ciclo de vida completo da mensagem, da produção ao consumo, dividido em três áreas: A área Producer mostra a origem da mensagem, informações do produtor, hostname, hora de envio, hora de chegada ao servidor e resultado do envio. A área MQ Server mostra o tipo de mensagem, ID da mensagem, tópico, chaves da mensagem e tag. A área Consumer mostra o ID do grupo, estatísticas de consumo (tentativas totais e com falha) e o status de consumo de cada grupo de consumidores.
-
Se a mensagem foi consumida com êxito, clique no ID do grupo no cartão Consumer para visualizar informações detalhadas de consumo. Clique em Export Image para gerar uma imagem dos detalhes atuais do rastreamento de mensagens.
Os detalhes do rastreamento de mensagens consistem em três painéis: O painel Producer exibe a hora de envio, a hora de chegada ao servidor e o resultado do envio. O painel MQ Server exibe o tipo de mensagem, o ID da mensagem, o tópico e a tag. O painel do grupo de consumidores (por exemplo, test_group1), quando expandido, mostra o número de entregas, o resultado da entrega, o status de entrega ordenada, a hora da entrega e o tempo de resposta.
Tópicos relacionados
Também é possível gerenciar rastreamentos de mensagens chamando as seguintes operações de API: