- 文档首页
消息队列 RocketMQ版
用户指南
消息查询
消息查询
消息查询
成功接入消息队列 RocketMQ版之后,如果生产环境的消息收发不符合预期,可以通过消息查询功能查看服务端的详细消息内容,确认服务端的消息详情是否与生产端或消费端完全一致,排查消息生产或消费问题。
背景信息
推荐您在以下场景中使用消息查询功能:
- 查看消息的具体内容,验证消息内容是否和生产端/消费端一致。
消息查询功能支持的查询方式如下:
注意事项
- 消息在消息队列 RocketMQ版中的存储时间取决于创建实例时设置的消息保留时长,默认为 3 天。只能查询消息保留时长范围内的消息。
- 存储空间不足时,后台会删除历史消息,可能有部分消息已被删除无法查询。
前提条件
- 已经部署生产端和消费端服务、成功接入消息队列 RocketMQ版,并在消息保留时长以内有消息生产行为。
- 如果通过消息 Key 查询,消息的生产者需要在发送消息时设置 Message Key 属性。
说明
- Key 尽可能唯一,以确保相同的 Key 的消息数量尽量少,最大不超过 16 条,否则消息查询结果不完整。
- 消息 Key 应为英文、数字等可见字符,否则查询结果可能不符合预期。
Message msg = new Message("YourTopic","*","This is a new message".getBytes());
msg.setKey("NewKey"+System.currentTimeMillis());
查询消息
- 在顶部菜单栏中选择地域,并在选择左侧导航栏中单击实例列表。
- 选择消息查询的方式,并根据页面提示输入对应信息。
- 在Topic中选择待查询的消息所在的 Topic,并在输入消息 ID中输入待查询的消息 ID。
- 按消息 ID 查询时,可以根据消息 ID 精确找到指定的某条消息,为便于消息查询和问题排查,建议在发送消息成功后将消息 ID 打印到日志中。
- 在Topic中选择待查询的消息所在的 Topic,并在输入消息 Key中输入待查询的消息 Key。
- 按消息 Key 查询时,会筛选出包含指定 Key 的消息列表中最近 16 条消息,适用于没有记录消息 ID 但是设置了消息 Key 的场景。
- 在Topic中选择待查询的消息所在的 Topic,并选择待查询消息的时间段。
- 按时间范围查询时,建议根据消息生产的速率合理指定时间范围。如果指定的时间范围较大,或指定时间范围内产生的消息较多,查询结果中会有大量符合条件的消息,不方便定位问题。
- 查询结果会即时显示在当前页面中,主要展示符合筛选条件的消息详情,包括消息ID、Tag、Key、生产者地址、消息大小(Bytes)、生成时间、存储时间。
-
重新发送消息
在消费异常的场景下,客户端未成功消费部分消息,造成消息丢失,影响业务侧的消费完整性。消息队列 RocketMQ版提供消息重发功能,您可以通过消息查询功能找到需要重发的消息列表,并重新发送这些消息到指定 Group 的重试 Topic 或原 Topic 中。消息重发功能支持逐条重发、批量重发或按时间段重发消息。
消息重发功能适用于消费异常的场景,其与重置消费位点的区别在于,消息重发功能可以指定重发的消息列表,客户端因此只需重新消费指定的消息即可,重置消费位点则需要重新消费指定位点之后的所有消息。
说明
若此消息所在的 Topic 是顺序消息类型的 Topic,重新发送消息可能会导致 Topic 出现消息乱序。延迟消息和事务消息也会失去其对应的消息属性。
下载消息内容
查找到指定的消息后,可以在消息查询页签中下载消息内容,与生产端或消费端的消息内容进行比对,排查生产消费环节的问题。
- 在查询结果中,找到指定的消息,并在其操作列中单击消息下载。
- 页面自动下载 .txt 格式的消息文件,其中包含消息体的详细内容。
最近更新时间:2025.07.09 16:22:41