AT 模式二阶段回滚:二阶段如果是回滚的话,Seata 就需要回滚一阶段已经执行的“业务 SQL”,还原业务数据。
回滚方式便是用“before image”还原业务数据;但在还原前要首先要校验脏写,对比“数据库当前业务数据”和 “after image”。
如果两份数据完全一致就说明没有脏写,可以还原业务数据,如果不一致就说明有脏写, 出现脏写就需要转人工处理。
小结本文介绍了分布式事务的一些基础理论,并对常用的分布式事务方案进行了讲解。
分布式事务本身就是一个技术难题,业务中具体使用哪种方案还是需要不同的业务特点自行选择。
但是我们也会发现,分布式事务会大大的提高流程的复杂度,会带来很多额外的开销工作,「代码量上去了,业务复杂了,性能下跌了」。
所以,当我们真实开发的过程中,能不使用分布式事务就不使用。
作者:JackHu
简介:水滴健康基础架构资深技术专家
编辑:陶家龙
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】