1、两阶段提交流程:
第一阶段所有参与者把是否能成功执行改事务的结果告诉协调者,第二阶段协调者根据所有参与者的反馈通知所有参与者,进行步调一致的提交或回滚。缺点:由于二阶段提交会进行资源锁定,而且时间长,对服务性能影响较大不适合微服务
2、tcc补偿性事务:
try阶段事务的准备阶段,confirm阶段完成业务执行提交,cancel完成事务的回滚
缺点:应用的侵入性强,实现难度大,而且需要按不同失败原因进行应答,为了满足一致性,需要confirm和cacel实现幂等性。
3、基于消息的最终一致性
异步确保通过消息中间件来确保数据操作的最终一致性,本质:将分布式事务转换成两个本地事务通过重试机制来确保最终的一致性,同样代码的侵入性高。