RabbitMQ 事务消息
概述
RabbitMQ 的 AMQP 协议实现了事务机制,允许开发者保证消息的发送和接收时原子性的,也就是说,要么消息全都发送成功,要么全都发送失败(只与发送方有关).
实现原理
AMQP 事务实现类似于传统数据库事务,允许在一个事务中发送多条消息,并在最后提交或回滚.
事务开始:客户端发送 tx.select 方法,RabbitMQ 开启一个新的事务上下文.事务内的操作:客户端发送消息 basic.publish,RabbitMQ 将这些消息暂存在内存中,并标记为未提交.事务提交:客户端发送 tx.commit 方法,RabbitMQ 将所有暂存的消息写入队列,并且如果消息标记为持久化,那么就把消息保存到磁盘.事务回滚:客户端发送 tx.rollback 方法,RabbitMQ 丢弃所有暂存的消息,不会写入队列.
代码实现
不采用事务
a)配置文件
spring

订阅专栏 解锁全文
742

被折叠的 条评论
为什么被折叠?



