1PC, 2PC, 3PC
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1PC, 2PC, 3PC相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章