分布式事务
2021-08-09 10:29:01 23 举报
AI智能生成
微服务架构中关于事务问题的几种解决方案
作者其他创作
大纲/内容
2PC模式
思想
一阶段:准备阶段(Prepare phase)
二阶段:提交阶段(commit phase)
总结
使用分布式事务成本低,适用于数据库层面
性能不理想,XA无法满足高并发场景
在MySQL中不太理想
XA应用场景不理想
同步阻塞,2PC两个阶段中,协调者和参与者的通信都是同步的,导致整个事务的的长时间阻塞
3PC模式
思想
一阶段:准备阶段(CanCommit)
二阶段:预提交阶段(PreCommit)
三阶段:提交阶段(DoCommit)
柔性事务(TCC补偿性方案)
思想
Try:prepare行为,调用自定义的prepare逻辑
Confirm:commit行为
Cancel:rollback行为
总结
优势在于可以自定义数据操作的粒度
不足之处是对于应用的侵入性非常强
业务逻辑分支都需要try、confirm、cancel三步操作
柔性事务(最大努力通知方案)
思想
使用消息中间件
不断发消息通知
例:订单业务
总结
柔性事务(最终一致性方案)
0 条评论
下一页