阿里云消息队列查询消息轨迹步骤

从“消息轨迹”的功能定义上来说,指的是一条消息从生产方发出到消费方消费处理,整个过程中的各个相关节点的时间地点等数据汇聚而成的完整链路信息。其具体的原理:RocketMQ消息中间件系统,一条消息的完整链路包含消息生产方、RocketMQ服务方、消息消费方三个角色,这其中每个部分处理消息的过程中都会在轨迹链路中增加相关的信息,将这些信息汇聚即可获取任意消息的当前状态,从而为生产环境中的问题排查提供强有力的数据支持。
 
消息轨迹数据
消息队列RocketMQ系统中,一条消息的完整链路包含生产者、服务端、消费者三个角色,每个角色处理消息的过程中都会在轨迹链路中增加相关的信息,将这些信息汇聚即可获取任意消息当前的状态。
 

生产端信息                

消费端信息                

RocketMQ消息服务方              

生产客户端信息           

消费客户端信息                

消息所属的 Topic                

发送时间                

投递时间,投递轮次                

消息存储的地域位置                

发送成功与否                

消费成功与否                

消息的 Key                

发送耗时                

消费耗时                

消息的 Tag                

 
消息轨迹查询规则

消息类型                

可以查询的时间                

查询说明                

普通消息                

消息发送后                

消息发送之后有发送轨迹,消费前显示“尚未消费”。消费后会展示投递和消费信息。                

顺序消息                

消息发送后                

消息发送之后有发送轨迹,消费前显示“尚未消费”。消费后会展示投递和消费信息。                

事务消息                

消息发送后                

消息发送之后有发送轨迹。 事务未提交之前,轨迹可以查询到,但是消息查询不到。           


操作步骤
1.登录消息队列RocketMQ控制台。
 
2.在左侧导航栏,单击消息轨迹,然后在消息轨迹的任务列表的左上角,单击创建查询任务按钮。
 
3. 在弹出的创建查询任务对话框中,按需选择查询条件并按提示输入信息,单击确认完成创建。
 
注意:查询时,尽可能地精确设置时间范围,以便缩小查询范围,提高速度。
 
消息轨迹查询功能支持三种查询方式,具体说明如下:
 
按Message ID查询:该方式属于精确查询,速度快,精确匹配,推荐使用用户仅需要输入消息的唯一Message ID,Topic名称即可完成对消息轨迹路径的查询。

按Message Key查询:该方式属于模糊查询。用户仅需要输入消息的Message Key和Topic。该方式适用于没有记录Message ID,但记录了Message Key的场景。

按Topic查询:该方式属于范围查询,适用于没有上述Message ID和Message Key,而且消息量比较小的场景。因为时间范围内消息很多,且不具备区分度,所以不推荐使用。
 
4.消息查询成功后将以列表的形式显示。
5.点击查看详情将显示该消息对应的发送状态、发送时间、消费状态和查看消息轨迹。
6.在展开的区域框中,单击查看消息轨迹即可查看完整的链路图。下图示例为按 Message ID 查询普通消息的轨迹。