全部产品
云市场

查询消息轨迹

更新时间:2020-06-24 14:21:06

消息轨迹是指一条消息从生产者发送到消息队列服务端,再到消费者消费处理,整个过程中的各个相关节点的时间、状态等数据汇聚而成的完整链路信息。本文介绍如何快速查询消息轨迹。

前提条件

您的消息已从生产者发送。

操作步骤

  1. 进入 SOFAStack 消息队列控制台页面,在左侧导航栏,点击 消息轨迹
  2. 在消息轨迹的任务列表的右上角,点击 创建查询任务 按钮。
  3. 在弹出的 创建查询任务 对话框中,按需选择查询条件并按提示输入信息。
    • 按 Message ID 查询:该方式属于精确查询,速度快,精确匹配,推荐使用。
    • 按 Message Key 查询:该方式属于模糊查询,最多查询 64 条消息轨迹。仅适用于您没有记录 Message ID 但是设置了 Message Key,同时 Message Key 具有区分度的情况。
    • 按 Topic 查询:该方式属于范围查询,适用于没有上述 Message ID 和 Message Key,而且消息量比较小的场景。因为时间范围内消息很多,且不具备区分度。
  4. 点击 确定。创建完成后,即可在消息轨迹页面查看到刚创建的查询任务,且任务状态显示查询中,说明暂不能查看消息轨迹。
  5. 在消息轨迹的任务列表的右上角,点击 刷新 按钮,直到状态切换至查询完成。点击展开图标可查看到轨迹的简要信息,主要是消息本身的属性以及接收状态的信息。
  6. 在展开的区域框中,点击 查看轨迹 即可查看完整的链路图,如下图所示。
    消息轨迹
    该轨迹图提供了以下角色及相关信息:
    • 生产者
      • 发送时间:消息从生产者发送时的客户端时间戳
      • 发送耗时:生产者调用 Send 方法发送消息的毫秒耗时
      • 发送状态
        • 发送成功:消息发送成功,服务端已经存储成功
        • 发送失败:消息发送失败,服务端没有存储消息,需要重试
        • 消息定时中:该消息是定时或者延时消息,且尚未到达投递时间
        • 事务未提交:该消息是事务消息,且尚未提交状态
        • 事务回滚:该消息是事务消息,并且已经回滚
    • Topic:
      • Key:消息的业务标识,由消息生产者设置,唯一标识某个业务逻辑。
      • Tag:消息标签,二级消息类型,用来进一步区分某个 Topic 下的消息分类。
    • 消费者
      • 耗时:消息推送到客户端之后执行 consumeMessage 方法的耗时
      • 投递时间:客户端执行 consumeMessage 方法开始消费消息时的时间戳
      • 消费状态
        • 全部成功:该消息的所有投递都已成功消费
        • 部分成功:该消息投递中存在消费失败的情况,或消费失败并重试成功的情况
        • 全部失败:该消息的所有投递都消费失败
        • 尚未消费:该消息尚未投递给任何消费方
        • 消费结果未返回:消费消息的方法尚未返回结果,或者被中断,导致本次消费结果未传回服务端
        • 消费成功:该消息已被成功消费
        • 消费失败:消费消息的方法主动返回失败标志,或者是消费方法抛异常

如需删除某个查询任务,可在消息轨迹任务列表页找到需删除的任务,在其操作列,点击 删除,按提示完成删除。

单元化说明(仅专有云)

对于专有云开启了单元化功能的用户,在单元化部署环境下,您可以选定单元创建消息查询任务,如下图所示。

创建查询任务

查询出的消息轨迹图中,您也可以获取到生产者、Topic 与消费者所在的 Zone 信息,如下图所示。

消息轨迹