消息查询与轨迹
最近更新时间: 2024-10-17 17:10:00
当一条消息从生产者发送到 TDMQ 服务端,再由消费者进行消费,TDMQ 会完整记录这条消息中间的流转过程,并以消息轨迹的形式呈现在控制台。 消息轨迹记录了消息从生产端到 TDMQ 服务端,最后到消费端的整个过程,包括各阶段的时间(精确到微秒)、执行结果、生产者 IP、消费者 IP 等。
操作场景
当您需要排查以下问题时,就可以使用 TDMQ 控制台的消息查询功能,按照时间维度或者根据日志中查到的消息 ID,来查看具体某条消息的消息内容、消息参数和消息轨迹。
查看某条消息的具体内容,具体参数。
查看消息由哪个生产 IP 发送,是否发送成功,消息到服务端的具体时间。
查看消息是否已持久化。
查看消费由哪些消费者消费了,是否消费成功,消息确认消费的具体时间。
需要做分布式系统的性能分析,查看 MQ 对相关消息处理的时延。
查询限制
消息查询最多可以查询近7天的消息。
一次性最多可以查询10000条消息。
前提条件
已经参考【SDK 文档】部署好生产端和消费端服务,并在7天内有消息生产和消费。
操作步骤
登录 TDMQ 控制台,在左侧导航栏单击【消息查询】。
在消息查询页面,首先选择地域和环境,再选择需要查询的时间范围,如果您知道对应的消息 ID,也可以输入消息 ID 进行精准查询。
单击【查询】,下方列表会展示所有查询到的结果并分页展示。
- 找到您希望查看内容或参数的消息,单击操作列的【查看详情】,即可查看消息的基本信息、内容(消息体)以及参数。
- 单击操作列的【查看消息轨迹】,或者在详情页单击 Tab 栏的【消息轨迹】,即可查看该消息的消息轨迹(详细说明请参考消息轨迹查询结果说明)。
消息轨迹查询结果说明
消息轨迹查询出来的结果分为三段:消息生产、消息存储和消息消费。
消息生产
参数 | 说明 |
---|---|
生产地址 | 对应生产者的地址以及端口。 |
生产时间 | TDMQ 服务端确认接收到消息的时间,精确到毫秒。 |
发送耗时 | 消息从生产端发送到 TDMQ 服务端的时间消耗,精确到微秒。 |
生产状态 | 表示消息生产成功或失败,如果状态为失败一般是消息在发送过程中遇到了头部数据部分丢失,以上几个字段可能会为空值。 |
消息存储
参数 | 说明 |
---|---|
存储时间 | 消息被持久化的时间(由于当前 TDMQ 统一为强一致模式,消息持久化后才会被确认,所以该时间与生产时间一致,高性能模式下此时间会与生产时间不一致)。 |
存储状态 | 表示消息持久化成功或失败,如果状态为失败则表明消息未落盘成功,可能由于底层磁盘损坏或无多余容量导致,遇见此类情况需尽快提工单咨询。 |
消息消费
消息消费是以列表形式呈现的。TDMQ 支持多订阅模式,一条消息可能会被多个订阅中的多个消费者消费。
列表中展示的信息说明:
参数 | 说明 |
---|---|
消费组名称 | 即订阅名称。 |
消费地址 | 收到消息的消费者地址及端口。 |
消费时间 | 消费者回复确认信息(ACK)到 TDMQ 服务端,服务端接收到确认信息的时间。 |
消费耗时 | 消息从服务端投递到消费者,直到服务端收到消费者的确认信息(ACK)经过的时长,精确到微秒。 |
消费状态 | 消费者消费成功或者失败,消费者如果返回了取消确认的信息(NACK),这个字段会显示失败。 |