聊下 RocketMQ 的消息轨迹?

参考答案

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

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

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

2   消息轨迹配置

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

 

3    消息轨迹数据存储

默认情况下,消息轨迹数据是存于一个系统级别的 Topic ,RMQ_SYS_TRACE_TOPIC。

这个Topic 在 Broker 节点启动时,会自动创建出来。

聊下 RocketMQ 的消息轨迹?

另外,也支持客户端自定义轨迹数据存储的 Topic 。

客户端的两个核心对象 DefaultMQProducer 和 DefaultMQPushConsumer ,它们的构造函数中,都有两个可选的参数打开消息轨迹存储。

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

以上,是消息队列 RocketMQ 面试题【RocketMQ 的消息轨迹】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧