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