RocketMQ集群如何打开消息轨迹的追踪?
RocketMQ集群如何打开消息轨迹的追踪?
对于一个消息,我想要知道,这个消息是什么时候从哪个Producer发送出来的?他在Broker端是进入到了哪个Topic里去的?他在消费者层面是被哪个Consumer什么时候消费出来的?
一、操作
我们有时候对于一条消息的丢失,可能就想要了解到这样的一个消息轨迹,协助我们去进行线上问题的排查,所以此时就可以使用RocketMQ支持的消息轨迹功能,我们看下面的配置过程。
首先需要在broker的配置文件
里开启traceTopicEnable=true
这个选项,
此时就会开启消息轨迹追踪的功能。
接着当我们开启了上述的选项之后,我们启动这个Broker的时候会自动创建出来一个内部的Topic,就是RMQ_SYS_TRACE_TOPIC,这个Topic就是用来存储所有的消息轨迹追踪的数据
的。
接着做好上述这一切事情之后,我们需要在发送消息的时候开启消息轨迹,此时创建Producer的时候要用如下的方式,下面构造函数中的第二个参数,就是enableMsgTrace
参数,他设置为true
,就是说可以对消息开启轨迹追踪。
在订阅消息的时候,对于Consumer也是同理的,在构造函数的第二个参数设置为true,就是开启了消费时候的轨迹追踪。
思考一下:
一旦当我们在Broker、Producer、Consumer都配置好了轨迹追踪之后,其实Producer在发送消息的时候,就会上报这个消息的一些数据到内置的RMQ_SYS_TRACE_TOPIC里去此时会上报如下的一些数据:`Producer的信息、发送消息的时间、消息是否发送成功、发送消息的耗时。
.
接着消息到Broker端之后,Broker端也会记录消息的轨迹数据,包括如下:消息存储的Topic、消息存储的位置、消息的key、消息的tags。
.
然后消息被消费到Consumer端之后,他也会上报一些轨迹数据到内置的RMQ_SYS_TRACE_TOPIC里去,包括如下一些东西:
Consumer的信息、投递消息的时间、这是第几轮投递消息、消息消费是否成功、消费这条消息的耗时。
查询消息轨迹:
接着如果想要查询消息轨迹,也很简单,在RocketMQ控制台
里,在导航栏里就有一个消息轨迹,在里面可以创建查询任务,你可以根据messageId、message key或者Topic来查询,查询任务执行完毕之后,就可以看到消息轨迹的界面了。
在消息轨迹的界面里就会展示出来刚才上面说的Producer、Broker、Consumer上报的一些轨迹数据了。
RocketMQ集群如何打开消息轨迹的追踪?相关推荐
- RocketMQ集群详解
集群特点 (1)NameServer:是一个几乎无状态节点,可集群部署,节点之间无任何信息同步. (2)Broker:部署相对复杂,Broker分为Master与Slave,一个Master可以对应多 ...
- RocketMQ集群部署方案(DLedger)
RocketMQ集群部署方案(DLedger) 一.基本配置 1.准备三台虚拟机,root密码 root ;IP地址: 192.168.xxx.xxx worker1 192.168.xxx.xxx ...
- 【RocketMQ】ubuntu18下部署RocketMQ集群
技术架构 - Producer:消息发布的角色,支持分布式集群方式部署.Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟. - Con ...
- RocketMQ集群(版本4.7.1)搭建教程
快速搭建RocketMQ集群 前言:最近在学习了解RocketMQ,为了更好地对照了解,需要安装一套RocketMQ集群,自己实际上手操作一番.首先在google搜索一番,找了一篇教程,看了下,比较详 ...
- RocketMQ集群启动报错:java.lang.RuntimeException: Lock failed,MQ already started
启动RocketMQ集群后报错: java.lang.RuntimeException: Lock failed,MQ already startedat org.apache.rocketmq.st ...
- 双RocketMq集群的搭建
一.双Master RocketMq集群的搭建 1.服务器环境: 序号 IP 用户名 角色 模式 1 192.168.211.128 root nameServer1,brokerServer1 Ma ...
- 从生产故障解锁RocketMQ集群部署的最佳实践
1.故障描述 RocketMQ 集群采取的部署架构为2主2从,其部署架构如下图所示: 其部署架构中一个非常明显的特点是一台物理机上分别部署了 nameserver,broker 两个进程. 其中一台机 ...
- 从年末生产故障解锁RocketMQ集群部署的最佳实践
[CSDN 编者按]因为一次生产事故,导致年终奖泡汤!在一番问题查找之后,终于找到了罪魁祸首!MQ集群中某一台物理机内存引发的故障,从而导致系统异常重启,而更关键的问题是,为什么一台Broker由于内 ...
- 阿里二面:RocketMQ 集群 Broker 挂了,会造成什么影响?
大家好,我是君哥.今天分享 RocketMQ 的 Broker 挂了,会带来什么影响. 面试官:你好,如果 RocketMQ 集群中的一个 Broker 挂了,会造成什么影响呢? 我:Broker 挂 ...
- rocketmq 集群部署
架构图 部署环境 hostname ip 备注 mqnamesrv1 10.0.0.1 namesrv mqnamesrv2 10.0.0.2 namesrv mqbroker3 10.0.0.3 b ...
最新文章
- HDOJ 3966 Aragorn#39;s Story
- 时序数据库深入浅出之存储篇——本质LSMtree,同时 metric(比如温度)+tags 分片...
- Python之精心整理的二十五个文本提取及NLP相关的处理案例
- 数据库存储模型-数据存储
- MFC动态调用DLL
- java bean 单例模式_单例模式 - Beans_bag - 博客园
- 怎么通过MQTT查看数据是否上云端_设备工程师们的福利来啦!JSON数据采集网关帮你实现云端对接~...
- java 桌面图标插件_JavaSwing界面设计(所有控件及示例)预览.ppt
- 多层神经网络中的正则化代价函数解析
- windows server 2012 动态访问控制
- VMware vSphere 5.x 与 vSphere 6.0各版本功能特性对比
- 调节效应检验(一):线性回归分析
- 【JAVA】数据结构——堆的排序及相关面试题
- 如何使用TCPA300电流放大器和电流探头进行电流测试
- 动画三部曲--属性动画
- 5种高大上的yml文件读取方式,你知道吗?
- Android 之 自动拨号
- 微信小程序 图表chart
- ROS1云课→01简介和配置
- 《碟中谍6》阿汤哥:自律是时间的杀手
热门文章
- 两端固定弦的强迫振动 (特解法、冲量原理法、Fourier展开法)| 非齐次问题 | 偏微分方程(二十一)
- Android 在Launcher桌面添加应用快捷图标AppShortcuts/PinnedShortcuts(适用于Android 7.1(API25) 及更高)
- 联邦学习入门笔记(四)— 基于差分隐私的FL(ii)
- 解决连接不上gitlab的问题
- dllhost.exe进程占用CPU很高怎么解决?
- 关于矩阵快速幂の简单粗暴の理解
- 从输入 URL 到页面展示发生了什么?
- C++一元多项式的乘法运算(单链表实现)
- 初探BLE控制层(nimble)
- springboot流浪动物救助系统 计算机专业毕业设计源码78174