tencent cloud

文档反馈

消息轨迹与说明

最后更新时间:2024-01-17 16:42:24
    消息轨迹记录了消息从生产端到 TDMQ RocketMQ 版服务端,最后到消费端的整个过程,包括各阶段的时间(精确到微秒)、执行结果、生产者 IP、消费者 IP 等。

    前提条件

    已经参考 SDK 文档 部署好生产端和消费端服务,并在3天内有消息生产和消费。
    如果您使用的是 5.0 及以上版本的客户端进行消息的生产和消费,则无需在客户端另行开启轨迹开关。
    如果您使用的是 4.x 版本的客户端,则需要在客户端来设置开启消息轨迹功能,具体设置示例如下:
    生产者设置
    Push消费者设置
    Pull消费者设置
    Spring Boot Starter接入(2.2.2版本及以上)
    DefaultMQProducer producer = new DefaultMQProducer(namespace, groupName,
    // ACL权限
    new AclClientRPCHook(new SessionCredentials(AK, SK)), true, null);
    // 实例化消费者
    DefaultMQPushConsumer pushConsumer = new DefaultMQPushConsumer(NAMESPACE,groupName,
    new AclClientRPCHook(new SessionCredentials(AK, SK)),
    new AllocateMessageQueueAveragely(), true, null);
    DefaultLitePullConsumer pullConsumer = new DefaultLitePullConsumer(NAMESPACE,groupName,
    new AclClientRPCHook(new SessionCredentials(AK, SK)));
    // 设置NameServer的地址
    pullConsumer.setNamesrvAddr(NAMESERVER);
    pullConsumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET);
    pullConsumer.setAutoCommit(false);
    pullConsumer.setEnableMsgTrace(true);
    pullConsumer.setCustomizedTraceTopic(null);
    package com.lazycece.sbac.rocketmq.messagemodel;
    
    import lombok.extern.slf4j.Slf4j;
    import org.apache.rocketmq.spring.annotation.MessageModel;
    import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
    import org.apache.rocketmq.spring.core.RocketMQListener;
    import org.springframework.stereotype.Component;
    
    /**
    * @author lazycece
    * @date 2019/8/21
    */
    @Slf4j
    @Component
    public class MessageModelConsumer {
    
    @Component
    @RocketMQMessageListener(
    topic = "topic-message-model",
    consumerGroup = "message-model-consumer-group",
    enableMsgTrace = true,
    messageModel = MessageModel.CLUSTERING)
    public class ConsumerOne implements RocketMQListener<String> {
    @Override
    public void onMessage(String message) {
    log.info("ConsumerOne: {}", message);
    }
    }
    
    }

    操作步骤

    1. 登录 TDMQ RocketMQ 控制台,在左侧导航栏单击消息查询
    2. 在消息查询页面,选择好地域后根据页面提示输入查询条件。
    时间范围:选择需要查询的时间范围,支持近100条(默认按时间顺序展示最近的 100 条消息)、进30分钟、近1小时、近6小时、近24小时、近3天和自定义时间范围。
    集群:选择需要查询的 Topic 所在的集群。
    Topic:选择需要查询的 Topic。
    查询方式:消息查询功能支持两种查询方式。
    查询全部:该方式会展示所选时间范围内 Topic 中的全部消息。
    按消息 ID 查询:该方式属于精确查询、速度快、精确匹配。
    按消息 Key 查询:该方式属于模糊查询,适用于您没有记录消息 ID 但是设置了消息 Key 的场景。
    3. 单击查询,下方列表会展示所有查询到的结果并分页展示。
    4. 单击操作列的查看消息轨迹,或者在详情页单击 Tab 栏的消息轨迹,即可查看该消息的消息轨迹。

    消息轨迹查询结果说明

    消息轨迹查询出来的结果分为三段:消息生产、消息存储和消息消费。

    消息生产

    参数
    说明
    生产地址
    对应生产者的地址以及端口。
    生产时间
    TDMQ RocketMQ 版服务端确认接收到消息的时间,精确到毫秒。
    发送耗时
    消息从生产端发送到 TDMQ RocketMQ 版服务端的时间消耗,精确到微秒。
    生产状态
    表示消息生产成功或失败,如果状态为失败一般是消息在发送过程中遇到了头部数据部分丢失,以上几个字段可能会为空值。

    消息存储

    参数
    说明
    存储时间
    消息被持久化的时间。
    存储耗时
    消息从被持久化到 TDMQ RocketMQ 版服务端接收到确认信息的时间,精确到毫秒。
    存储状态
    表示消息持久化成功或失败,如果状态为失败则表明消息未落盘成功,可能由于底层磁盘损坏或无多余容量导致,遇见此类情况需尽快提工单咨询。

    消息消费

    消息消费是以列表形式呈现的,TDMQ RocketMQ 版支持集群消费和广播消费两种消费模式。
    列表中展示的信息说明:
    参数
    说明
    消费组名称
    消费组的名称。
    消费模式
    消费组的消费模式,支持集群消费和广播消费两种模式。
    推送次数
    TDMQ RocketMQ 版服务端向消费者投递该消息的次数。
    最后推送时间
    TDMQ RocketMQ 版服务端最后一次向消费者投递该消息的时间。
    消费状态
    已推送未确认:TDMQ RocketMQ 版服务端已向消费者投递消息,未接收到消费者回复的确认消息。
    已确认:消费者回复确认信息(ACK)到 TDMQ RocketMQ 版服务端,服务端接收到确认信息。
    转入重试:已超时,服务端仍未接收到确认信息,将再次投递消息。
    已重试未确认:TDMQ RocketMQ 版服务端已再次向消费者投递消息,未接收到消费者回复的确认消息。
    已转入死信队列:消息经过一定重试次数后仍未能被正常消费,被投递至死信队列。
    说明:
    如果消费模式为广播模式,则消费状态只有已推送一种。
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持