目录
什么是2PC
2PC即两阶段提交协议,将整个事务流程分为两个阶段:准备阶段、提交阶段。
简单来说准备阶段就执行事务代码,但不一定提交,提交阶段决定是最终提交事务还是回滚事务。
为什么要简单来说?因为基于数据库的2PC和分布式框架Seata的2PC有差异,不能一概而论。
关系型数据库的2PC=>XA方案
数据库的2PC也叫传统2PC,是2PC在数据库层面的实现,也叫做XA方案。
XA方案由三部分组成:应用程序、事务管理器和参与者。 具体的事务执行过程如下
准备阶段(Prepare phase):
事务管理器给每个参与者发送Prepare消息,每个数据库参与者在本地执行事务,并写本地Undo/Redo日志,此时事务没有提交
提交阶段(Commit pha

本文介绍了分布式事务中的2PC、3PC和TCC三种协议。2PC分为准备和提交两个阶段,但在某些情况下可能导致数据不一致。3PC在2PC基础上增加了一个CanCommit阶段,提高了可用性。TCC则要求每个分支事务实现Try、Confirm、Cancel三个操作,对业务侵入性强,但允许更细粒度的数据操作控制。
最低0.47元/天 解锁文章
1205

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



