本文共 942 字,大约阅读时间需要 3 分钟。
顾名思义,二阶段提交的意思。
需要考虑的问题:
2PC的改进版本,在Prepare阶段前加了一个阶段:是否可提交请求
询问是否可以执行事务提交操作,如果执行者都返回成功响应,则进入Prepare阶段,否则结束事务 这一步查询不会加锁,降低了反复“锁定-释放”的可能,提高了并发。无论是2PC还是3PC,都无法彻底解决分布式的一致性问题。
TCC和2PC两阶段提交类似,2PC通常是跨库的DB层面,T本质上是一个应用层面的2PC。
优势在于,可以自己定义数据库操作的精度,从而降低锁冲突、提高吞吐量。 Try、Confirm、Cancel的缩写,又称补偿事务,要求每个分支事务实现这三个操作。 Try,对业务系统做检测及资源预留。和二阶段中提交协议,提交请求阶段类似,系统会将需要确认的资源预留、锁定,确保确认操作一定能执行成功 Confirm,确认执行业务操作。和二阶段提交协议中,提交执行阶段的操作类似,指系统将最终执行操作 Cancel,取消执行业务操作。比较像二阶段提交协议中的回滚操作,指系统将撤消之前预留的资源,也就是撤消已执行的预留操作对系统产生的影响转载地址:http://qwyws.baihongyu.com/