1、分布式事务的常用解决方案
(1)、基于数据库XA/JTA协议的方式;(需要数据库厂商的支持;java组件有atomikos等)
(2)、异步校对数据的方式;(支付宝、微信支付主动查询支付转态、对账单的形式)
(3)、基于可靠消息(MQ)的解决方案;(异步场景;通用性强;拓展性较高)
(4)、TCC编程式解决方案。(严选、阿里、蚂蚁金服自己封装的DTX)
2、使用rabbitmq解决分布式事务
(1)、整体设计思路
要求:①、可靠生产:保证消息一定要发送到rabbitmq服务中
②、可靠消费:保证消息取出来一定正确消费掉。
最终多方数据达到一致性。
发送消息到rabbitmq之后的回调方法修改消息发送的状态
设置发送成功的回调配置:s