文章目录
RabbitMQ 事务消息
概述
RabbitMQ 的 AMQP 协议实现了事务机制,允许开发者保证消息的发送和接收时原子性的,也就是说,
要么消息全都发送成功,要么全都发送失败(只与发送方有关).
实现原理
AMQP 事务实现类似于传统数据库事务,允许在一个事务中发送多条消息,并在最后提交或回滚.
事务开始:
客户端发送 tx.select 方法,RabbitMQ 开启一个新的事务上下文.事务内的操作:
客户端发送消息 basic.publish,RabbitMQ 将这些消息暂存在内存中,并标记为未提交.事务提交:
客户端发送 tx.commit 方法,RabbitMQ 将所有暂存的消息写入队列,并且如果消息标记为持久化,那么就把消息保存到磁盘.事务回滚
:客户端发送 tx.rollback 方法,RabbitMQ 丢弃所有暂存的消息,不会写入队列.
代码实现
本文转载自: https://blog.csdn.net/CYK_byte/article/details/140890834
版权归原作者 陈亦康 所有, 如有侵权,请联系我们删除。
版权归原作者 陈亦康 所有, 如有侵权,请联系我们删除。