通过消息队列实现分布式事务

通过消息队列实现分布式事务

在这里插入图片描述
表设计:
生产者:账户余额表、事务记录表
消费者:账户余额表、消息记录表
生产者事务流程:
a:支付宝账户扣除100元
b:给事务记录表中新增一条事务记录 (a、b两步操作在同一个数据库中,可以保证事务一致性,同时成功,同时失败)
定时程序流程:
a:定时扫描生产者事务记录表中状态为未完成的记录,将未完成记录发送到消息队列中
b:将生产者事务记录表中的状态改为已完成
消费者事务流程:
a:从消息队列中获取记录
b:将消息中未完成记录的事务txId作为主键 报错到事务处理表中(防止由于消息队列故障,导致消息二次消费问题)
c:将余额宝账户增加100元(b、c两步操作在同一个数据库中,可以保证事务一致性,同时成功,同时失败)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值