RocketMQ默认提供了消息轨迹的功能:

1、RocketMQ消息轨迹数据的关键属性:

Producer端 Consumer端 Broker端
生产实例信息 消费实例信息 消息的Topic
发送消息时间 投递时间,投递轮次 消息存储位置
消息是否发送成功 消息是否消费成功 消息的Key值
发送耗时 消费耗时 消息的Tag值

2、消息轨迹配置

打开消息轨迹功能,需要在broker.conf中打开一个关键配置:
traceTopicEnable=true
这个配置的默认值是false。也就是说默认是关闭的。

3、消息轨迹数据存储

默认情况下,消息轨迹数据是存于一个系统级别的Topic ,RMQ_SYS_TRACE_TOPIC。这个Topic在Broker节点启动时,会自动创建出来。
image.png
另外,也支持客户端自定义轨迹数据存储的Topic。
在客户端的两个核心对象 DefaultMQProducer和DefaultMQPushConsumer,他们的构造函数中,都有两个可选的参数来打开消息轨迹存储

  • enableMsgTrace:是否打开消息轨迹。默认是false。
  • customizedTraceTopic:配置将消息轨迹数据存储到用户指定的Topic 。