码迷,mamicode.com
首页 > 其他好文 > 详细

1PC, 2PC, 3PC

时间:2017-01-10 20:00:45      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:自己的   自己   分布式   资源   事务管理   改进   ack   tac   返回   

1PC,one phase commit,一阶段提交

这个就是普通的事务了,只涉及到单个数据源

应用直接与数据源通信,先begin一个事务,然后要么commit,要么rollback

 

2PC,two phase commit,二阶段提交

用于解决分布式事务,涉及到多个数据源的事务

需要有TM(Transaction Managers,事务管理器,直接与应用通信)与RM(Resource Manager,资源管理器,也就是各个数据源)共同参与

第一阶段:TM要求各个相关的RM准备好相关的资源(各个RM都开启了1PC事务,并处于只差COMMIT/ROLLBACK的状态),RM向TM返回自己的状态:成功/失败

第二阶段:TM收到各个RM的反馈,如果全部成功,说明事务可以被正确执行,于是向所有RM发送COMMIT命令;如果有RM失败,则向所有RM发送ROLLBACK命令,将整个事务回滚

存在的问题:

 

 

3PC,three phase commit,三阶段提交

对2PC的改进

 

 

参考资料

real-difference-between-one-phase-and-two-phase-xa-commit

1PC, 2PC, 3PC

标签:自己的   自己   分布式   资源   事务管理   改进   ack   tac   返回   

原文地址:http://www.cnblogs.com/stevenczp/p/6270395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!