分布式事务
A模块Mapper直接操作DB得到数据集
使用Feign调用B模块
B模块Mapper操作DB得到数据集
合并1,3两步操作或者其他操作
可举例:购物,走DB,库存-1,买家扣钱。
1:库存
2:查询到还有库存,下单,调用支付API扣钱
3:银行卡扣钱
4:判断1、3的结果
分析以上步骤可能抛出异常的情景:
步骤1发生异常,Spring事务回滚
步骤2发生异常,Spring事务回滚
步骤3发生异常,3的服务实现自动回滚,2根据3的返回值来决定是否回滚
步骤四出险异常,1自动回滚,3的操作不会回滚,..
原创
2022-02-15 13:43:38 ·
170 阅读 ·
0 评论