目录
什么是分布式事务
一个大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据存储的数据一致性。
分布式事务解决方案
对数据一致性要求比较严格的用TCC来保证强一致性,业务系统对于数据没那么敏感的话就用可靠消息最终一致性方案。
两阶段提交(XA方案)
准备阶段,协调者询问参与者是否执行成功,参与者发回事务执行结果。
提交阶段,如果每个参与者都执行成功,协调者发送通知让参与者提交事务 否则协调者通知参与者回滚。所有事务参与者等待其他参与者响应都是阻塞状态,协调者发生故障影响很大,第二阶段故障会造成所有参与者一直等待,网络异常导致协调者只发送了部分通知,导致数据不一致。
分布式事务是为了保证不同数据存储的一致性,常见的解决方案包括两阶段提交、TCC、Saga和本地消息表。两阶段提交可能导致数据不一致,TCC适合严格一致性场景,Saga适用于长事务,本地消息表依赖数据库管理事务,而可靠消息最终一致性方案通过MQ实现最终一致性。
订阅专栏 解锁全文
2万+

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



