RabbitMQ消息可靠性保证机制7--可靠性分析-rabbitmq_tracing插件

RabbitMQ消息消费后如何追溯?四种方案详解与选型指南 消息队列作为异步通信和解耦系统的核心技术,其核心原理在于通过生产者-消费者模型实现服务间的可靠通信。在RabbitMQ等主流消息中间件中,消息一旦被消费者确认(ACK)便会从队列中移除,这是由其设计哲学决定的——专注于高效传递而非历史存储。这一机制虽然保证了性能,却带来了一个常见的工程挑战:如何追溯已消费的消息内容,以满足问题排查、数据审计和业务回溯的需求。从技术价值角度看,实现消息消费追溯并非RabbitMQ原生功能,而是需要在架构层面进行补充设计。常见的应用场景包括订单流水审计、系统异常排查和合规性检查 阅读详情
rabbitmq_tracing插件

rabbitmq_tracing插件相当于Firehose的GUI版本,它同样能跟踪RabbitMQ中消息的注入流出情况。rabbitmq_tracing插件同样会对流入流出的消息进行封装,然后将封装后的消息日志存入相应的trace文件中。

# 开启插件
rabbitmq-plugins enable rabbitmq_tracing

# 关闭插件
rabbitmq-plugins disable rabbitmq_tracing

代码使用之前Firehose的代码.
首先开启插件

[root@nullnull-os rabbitmq]# rabbitmq-plugins disable rabbitmq_tracing
Disabling plugins on node rabbit@nullnull-os:
rabbitmq_tracing
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@nullnull-os...
The following plugins have been disabled:
  rabbitmq_tracing

stopped 1 plugins.
[root@nullnull-os rabbitmq]# rabbitmq-plugins list
Listing plugins with pattern ".*" ...
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status: * = running on rabbit@nullnull-os
 |/
[  ] rabbitmq_amqp1_0                  3.8.5
[  ] rabbitmq_auth_backend_cache       3.8.5
[  ] rabbitmq_auth_backend_http        3.8.5
[  ] rabbitmq_auth_backend_ldap        3.8.5
[  ] rabbitmq_auth_backend_oauth2      3.8.5
[  ] rabbitmq_auth_mechanism_ssl       3.8.5
[  ] rabbitmq_consistent_hash_exchange 3.8.5
[  ] rabbitmq_event_exchange           3.8.5
[  ] rabbitmq_federation               3.8.5
[  ] rabbitmq_federation_management    3.8.5
[  ] rabbitmq_jms_topic_exchange       3.8.5
[E*] rabbitmq_management               3.8.5
[e*] rabbitmq_management_agent         3.8.5
[  ] rabbitmq_mqtt                     3.8.5
[  ] rabbitmq_peer_discovery_aws       3.8.5
[  ] rabbitmq_peer_discovery_common    3.8.5
[  ] rabbitmq_peer_discovery_consul    3.8.5
[  ] rabbitmq_peer_discovery_etcd      3.8.5
[  ] rabbitmq_peer_discovery_k8s       3.8.5
[  ] rabbitmq_prometheus               3.8.5
[  ] rabbitmq_random_exchange          3.8.5
[  ] rabbitmq_recent_history_exchange  3.8.5
[  ] rabbitmq_sharding                 3.8.5
[  ] rabbitmq_shovel                   3.8.5
[  ] rabbitmq_shovel_management        3.8.5
[  ] rabbitmq_stomp                    3.8.5
[  ] rabbitmq_top                      3.8.5
[E*] rabbitmq_tracing                  3.8.5
[  ] rabbitmq_trust_store              3.8.5
[e*] rabbitmq_web_dispatch             3.8.5
[  ] rabbitmq_web_mqtt                 3.8.5
[  ] rabbitmq_web_mqtt_examples        3.8.5
[  ] rabbitmq_web_stomp                3.8.5
[  ] rabbitmq_web_stomp_examples       3.8.5
[root@nullnull-os rabbitmq]# 

至网页端

在这里插入图片描述

填充跟踪信息

name表示rabbitmq_tracing的一个条目的名称,

format可以选择text或者JSON

连接用户名和密码,按创建的用户名管密码,这里填充:root/123456

pattern: 发布的消息: publish.

pattern: 消费的消息: deliver.

在这里插入图片描述

分别添加生产者的追溯和消费都的追溯,然后分别运行生产者和消费者。

在这里插入图片描述

text格式的文件信息:
在这里插入图片描述

json格式数据:

在这里插入图片描述

在这里还在两个队列:

在这里插入图片描述

这两个临时队列,在追溯停止后,也将不存在了。这就是网页端的追溯,相对于Firehose使用起来也更简单。可以直接通过网页端进行查看。

RabbitMQ消息消费回溯:从日志到审计队列的完整解决方案 消息队列作为现代分布式系统的核心组件,其核心原理在于解耦生产者和消费者,实现异步通信和流量削峰。在技术价值上,它提升了系统的可扩展性和可靠性,是微服务架构中不可或缺的基础设施。然而,在实际应用场景中,尤其是在运维调试、财务对账和数据审计时,一个常见需求是回溯已消费的历史消息。RabbitMQ作为经典的AMQP协议实现,其设计侧重于消息投递的可靠性,而非历史查询。因此,实现消息追溯需要结合多种工程实践,例如在消费端进行结构化日志记录,并合理利用消息持久化机制保障数据不丢失。对于生产环境,更推荐采用架构级的消息 阅读详情

相关推荐

Unity动态创建Avatar骨骼映射

Unity Avatar骨骼映射动态创建,适配Unity通用动画,无需经过第三方建模软件,可运行时创建

Nbin_Newby的博客 1万+

RabbitMQ消息追踪之rabbitmq_tracing

rabbitmq_tracing插件相当于Firehose的GUI版本,它同样能跟踪RabbitMQ中消息的流入流出情况。rabbitmq_tracing插件同样会对流入流出的消息做封装,然后将封装后的消息日志存入相应的trace文件之中。 可以使用rabbitmq-plugins enable rabbitmq_tracing命令来启动rabbitmq_tracing插件。 [root@...

朱小厮的博客 2万+

告别全局搜索!7种SRP-PHAT快速算法实战对比:哪个更适合你的麦克风阵列?

本文深入探讨了7种SRP-PHAT改进算法在声源定位领域的实战表现,包括SRC、CFRC、SPF等方案。通过对比计算效率、定位精度和环境鲁棒性等核心指标,为不同场景(如会议室、智能家居、工业机器人)提供算法选型建议,帮助工程师优化麦克风阵列性能。

weixin_42546392的博客 398

Git 基础教程 - 分支操作、合并分支、解决冲突

作者简介:大家好,我是哥,前中兴通讯、美团架构师,现某互联网公司联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!

smart_an的专栏 1415

unity | 动画模块之滚动选项框

动画模块之滚动选项框

菌菌兹的博客 2075

微信小程序scroll-view,点击menu,滚动到锚点;滚动到锚点,激活menu。

首先看看效果图1、首先是点击菜单,滚动列表,这个实现比较简单。直接使用scroll-view 的 scroll-into-view属性,小程序文档。<view class='container'> <!-- 菜单 --> <view class='menu'> <ul> <!-- scrollList 修改cate --&g...

weixin_39834214的博客 1万+

RabbitMQ Tracing插件使用

翻译自:https://github.com/MarcialRosales/rabbitmq-tracing-guide RabbitMQ Tracing Guide rabbitmq_tracing plugin rabbitmq_tracing 插件能够帮我们跟踪经过MQ的消息,并将他们持久化到磁盘,记录到日志文件中。从而节约问题定位和调试的时间成本。 Who can use it 只有administrators角色的用户可以开启rabbitmq插件,且,只有administrators角色的用户可以

theConqueror的博客 4455

Unity四部曲(核心)

需要先改成Cube复杂的展开留到unity进阶再说。

ultraman1234566的博客 2797

rabbitmq基础10——消息追踪、Shovel插件的web端使用和命令使用

消息追踪、Shovel插件原理和web端的使用

百慕卿君博客 2367

【论文解读--Xdog】新型电驱式四足机器人研制与测试

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、四足机器人体型大小和驱动方式的比较二、四足机器人设计一些重要的结论三、系统控制框架四、系统硬件框架五、力位混合控制(阻抗控制)六、侧向平衡控制(和VMC如出一辙)七、电机驱动系统研制(FOC磁场定向控制)总结 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对新型电驱式四足机器人研制与测试做个简单的介绍,具体内容后续再更,其他模块可以参

qq_35635374的博客 3727

Python爬虫-爬取猫眼演出数据

本文是该专栏的第53篇,后面会持续分享python爬虫干货知识。猫眼平台除了有影院信息之外,它还涵盖了演出信息,比如说“演唱会,音乐节,话剧音乐剧,脱口秀,音乐会,戏曲艺术,相声”等等各种演出相关信息。而本文,笔者将以猫眼平台为例,基于Python爬虫实现获取各种演出信息的数据。废话不多说,具体细节部分以及详细思路逻辑,笔者将在正文结合完整代码进行详细说明。(附带完整代码)

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 572

RabbitMq之Tracing插件(消息轨迹追踪)

sadsada

liang1gsdsdfd的博客 2642

13. MIC配置

恒玄BES2700,支持3个MIC。

雪飞_海 928

RabbitMQ的高级特性--如何保证消息可靠性

1.rabbitMQ临时队列 1.首先,我们无论何时连接RabbitMQ的时候,都需要一个新的,空的队列。我们可以使用随机的名 字创建队列,也可以让服务器帮我们生成随机的消息队列名字。 其次,一旦我们断开到消费者的连接,该队列应该自动删除。 2.创建临时队列方式如下: String queue = channel.queueDeclare().getQueue(); 上述代码我们声明了一个非持久化的、排他的、自动删除的队列,并且名字是服务器随机生成的...

李嘉图呀李嘉图的博客 4349

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

RabbitMQ高级特性(八):RabbitMQ之消息追踪

RabbitMQ高级特性(八):RabbitMQ之消息追踪

HaleyTiger的博客 1802

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【rabbitMq-2】 高级特性之消息可靠性

文章内容输出来源:拉勾教育Java高薪训练营 希望记录的每一个点,都能真正掌握,而不是流水账 一:可靠性保证 消息虽然有异步、高并发的优点,但具有一定延时、数据弱一致性,甚至消息发送/消费失败等缺点。所以,我们可以从生产者端,服务器和消费者端来保证消息可靠性,如果这三端都能保证,消息可靠性也就OK了。 生产者端: 1. 异常捕获机制 客户端代码中的异常捕获,如果在业务逻辑执行过程中抛出异常,则重发或者回滚。 但是,没有异常不代表一定成功,所以此方案是最大努力保证。 注:也可以通过spr.

growing_duck的博客 399

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

RabbitMQ 教程 | 第11章 RabbitMQ 扩展

这篇 RabbitMQ 教程为学习者提供了全面的内容,帮助学习者充分掌握 RabbitMQ 的应用。整篇教程丰富内容详实,适合初学者和有经验的开发者参考学习。

编程洪同学 391

4.RabbitMQ高级特性(及时回顾)

RabbitMQ 一、高级特性 消息的可靠性 exchange confirm 回退 consumer ack 消费端限流 自动确认设置为手动,设置每次消费10的步长 TTL(TimeToLive) RabbitMQ过期队列和过期消息处理机制: 1.当队列和队列当中的消息(1条消息)都设置了过期时间,以时间短的为准 2.当队列存在多条消息时,且存在设置了过期时间的消息,RabbitMQ是怎么处理的呢? 1.并不是以时间短的消息为准删除所有消息❎ 2.RabbitMQ是将该队列中的消息逐

weixin_44519169的博客 2117

RabbitMQ-高级-集群

RabbitMQ集群 监控 面试题

ifspirt的博客 2035

RabbitMQ

介绍 RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展 性、高可用性等方面表现不俗。 端口号:15672 账密:guest 具体特点包括:(远不止这些) 可靠性(Reliability) RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认。 消息确认(需要开启):MQ将消息发送给消费者,MQ并没有将消息删除,MQ把这条消息锁定,消息消费者用完这条消息之后,消费者会给M

梦想是很难很难的,所以先勇敢一点 945

RabbitMQ高级特性

1. 消息的可靠投递 RabbitMQ整个消息投递的路径为: producer —> rabbitmq broker —> exchange —> queue —> consumer。 作为消息的发送方,希望杜绝任何消息丢失或投递失败的场景。RabbitMQ提供了两种方式用来控制消息的投递可靠性,confirm模式和return模式。消息从producer到exchange则会返回一个comfirm

sabot_v的博客 217

rabbitmq入门知识整理

1、主要介绍消息队列的概念2、消息队列的作用和使用场景3、rabbitmq的特点4、rabbitmq基本概念和内部结构5、rabbitmq常用四种路由机制6、rabbitmq的RPC调用实现原理。

程序员高级码农的博客 869

RabbitMQ学习

RabbitMQ简介RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。AMQP,即Advanced Messa...

u013952133的博客 716

RabbitMQ高级特性简单介绍(不含代码)

MQ高级特性简介

qq_26849881的博客 315

rabbitmq集群配置

rabbitmq是一个轻量级的消息服务系统,切记它只是一个类似信件邮递员的功能,而不是快递,不用把它当成redis在用。 一、rabbitmq软件安装 1.erlang安装 安装erlang,加载官方提供的yum源,然后直接安装。最新版本的rabbitmq直接依赖erlang,安装esl-erlang无法进行下一步安装。 #rpm -Uvh https://packages.erlang-

那些年匆匆 532

Centos7-rabbitmq集群部署

一、对应主机host地址(每台主机host文件要保持一致)(每台都操作) 172.16.2.61 rabbitmq01 172.16.2.62 rabbitmq02 二、每台都安装rabbitmq-server(注意:要先装epel-release扩展源)(每台都操作) yum -y install epel-release && yum -y install rabbitmq-...

yan7895566的博客 688
上一篇: RabbitMQ消息可靠性保证机制6--可靠性分析
下一篇: RabbitMQ-TTL机制
null_null_bug
博客等级 码龄7年 72粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值