消息查询

更新时间:2025-02-08 03:32:09

云消息队列 RocketMQ 版提供了三种消息查询的方式,分别是按Message ID、Message Key以及Topic查询。您可以通过消息查询验证消息是否发送成功、验证消息发送的内容是否正确、以及进一步查看消息的轨迹信息。

查询方式说明

云消息队列 RocketMQ 版提供三种查询方式,各自的特点和对比如下表所述。

查询方式

查询条件

查询类别

说明

查询方式

查询条件

查询类别

说明

Message ID查询

Topic+Message ID

精确查询

根据TopicMessage ID可以精确定位任意一条消息,获取消息的属性。

Message Key查询

Topic+Message Key

模糊查询

根据TopicMessage Key可以匹配到包含指定Key的最近64条消息。

Topic查询

Topic+时间段

范围查询

根据Topic和时间范围,批量获取符合条件的所有消息,查询量大,不易匹配。

推荐查询过程

推荐按照以下流程查询消息。

消息查询

操作步骤

  1. 登录云消息队列 RocketMQ 版控制台,在左侧导航栏单击实例列表

  2. 在顶部菜单栏选择地域,如华东1(杭州),然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏,单击消息查询

  4. 消息查询页面,您可选择以下任意一种查询方式,然后按页面提示输入相应信息,再单击查询

    • 按 Message ID 查询

      Message ID查询消息属于精确查询,您输入TopicMessage ID即可精确查询到任意一条消息。因此,为了尽可能精确地查询,建议在发送消息成功后将Message ID信息打印到日志中,方便问题排查。

      Java SDK为例,获取Message ID的方法如下。

         SendResult sendResult = producer.send(msg);
         String msgId = sendResult.getMessageId();

      其他语言可参见SDK参考概述

    • 按 Message Key 查询

      云消息队列 RocketMQ 版根据您设置的Message Key建立消息的索引信息,当您输入Key进行查询时,云消息队列 RocketMQ 版根据该索引即可匹配相关的消息返回。

      重要
      • Message Key查询的条件是您在发送消息时已设置Message Key属性。

      • Message Key查询仅返回符合条件的最近的64条消息,因此建议您尽可能保证设置的Key是唯一的,并具有业务区分度。

      设置Message Key的方法如下。

          Message msg = new Message("Topic","*","Hello MQ".getBytes());
            /**
           * 对每条消息设置其检索的Key,该Key值代表消息的业务关键属性,请尽可能全局唯一。
           * 以方便您在无法正常收到消息情况下,可通过消息队列RocketMQ版控制台查询消息。不设置也不会影响消息正常收发。
           */
          msg.setKey("TestKey"+System.currentTimeMillis());                                
    • 按 Topic 查询

      Topic查询一般用在Message IDMessage Key都无法获得的情况下,根据Topic和消息的发送时间范围,批量获取该时间范围内的所有消息,然后再找到关心的数据。

      重要
      • Topic查询属于范围查询,获取Topic下符合时间条件的所有消息,消息量大,建议尽量缩短查询区间。

      • Topic查询消息量大,采用分页展示。

查询结果说明

查询的结果中包含了Message ID、Tag、Key等信息,同时支持消息轨迹查询消费验证下载消息

image

下载消息

在查询结果的列表中,找到目标消息,在其操作列选择image > 下载消息

消费验证

云消息队列 RocketMQ 版提供了消费验证功能,该功能可以将指定消息推送给指定的在线客户端,以检测客户端消费该消息的逻辑和结果是否符合预期。

  1. 在查询结果的列表中,找到目标消息,然后单击其操作列的消费验证

  2. 在验证消费面板,选择需要验证的Group ID客户端 ID,然后单击确定

image

相关文档

您可以根据消息查询结果进一步查看消息的轨迹信息,查看消息的消费状态和消费结果。具体操作,请参见消息轨迹

  • 本页导读 (1)
  • 查询方式说明
  • 推荐查询过程
  • 操作步骤
  • 查询结果说明
  • 下载消息
  • 消费验证
  • 相关文档