介绍下RabbitMQ的事务机制

想要保证发送者一定能把消息发送给RabbitMQ,一种是通过confirm机制,另外一种就是通过事务机制。

RabbitMQ的事务机制,允许生产者将一组操作打包一个原子事务单元,那么全部执行成功,要么全部失败。事务提供了一种确保消息完整性的方法,但需要谨慎使用,因为它们对性能有一定的影响。

RabbitMQ是基于AMQP协议实现的,RabbitMQ中,事务是通过在通道上启用的,与事务机制有关的三个方法:

1.txSelect :将当前Channel设置成transaction模式

2.txCommit:提交事务

3.txRollback:回滚事务

我们需要先通过txselect开启事务,然后就可以发布消息给MQ了,如果txCommit提交成功了,则消息一定到达了RabbitMQ,如果在txCommit执行之前RabbitMQ实例异常崩溃或者抛出异常,那我们就可以捕获这个异常然后执行txRollback 进行回滚事务。

所以,通过事务机制,我们也能保证消息一定可以发送给RabbitMQ

以下是一个通过事务发送消息的方法示例:

相关推荐
一晌小贪欢1 小时前
Python爬虫第10课:分布式爬虫架构与Scrapy-Redis
分布式·爬虫·python·网络爬虫·python爬虫·python3
沐浴露z9 小时前
一篇文章详解Kafka Broker
java·分布式·kafka
pythonpioneer11 小时前
Ray Tune 强大的分布式超参数调优框架
分布式·其他
笨蛋少年派11 小时前
Hadoop High Availability 简介
大数据·hadoop·分布式
勇往直前plus12 小时前
学习和掌握RabbitMQ及其与springboot的整合实践(篇一)
spring boot·学习·spring cloud·rabbitmq·java-rabbitmq
一只小透明啊啊啊啊13 小时前
Java电商项目中的概念: 高并发、分布式、高可用、微服务、海量数据处理
java·分布式·微服务
兜兜风d'1 天前
RabbitMQ 七种工作模式全解析
分布式·rabbitmq
菜鸡儿齐1 天前
kafka高可靠性
分布式·kafka
兜兜风d'1 天前
RabbitMQ 持久性详解
spring boot·分布式·rabbitmq·1024程序员节
blammmp1 天前
RabbitMQ :概述,Web界面介绍,快速上手,工作模式
java·分布式·rabbitmq