两阶段提交协议
2011-07-19 10:01
316 查看
两阶段提交协议
实现分布式事务的关键就是两阶段提交协议。在此协议中,一个或多个资源管理器的活动均由一个称为事务协调器的单独软件组件来控制。此协议中的五个步骤如下:
图 1 和图 2 通过两个顺序图来说明两阶段提交协议。
图 1 事务提交图 1 显示事务成功(提交)。图 2 显示由于某种原因,其中一个资源管理器无法提交时的两阶段提交协议。
图 2 事务被回滚
实现分布式事务的关键就是两阶段提交协议。在此协议中,一个或多个资源管理器的活动均由一个称为事务协调器的单独软件组件来控制。此协议中的五个步骤如下:
• | 应用程序调用事务协调器中的提交方法。 |
• | 事务协调器将联络事务中涉及的每个资源管理器,并通知它们准备提交事务(这是第一阶段的开始)。 |
• | 为 了以肯定的方式响应准备阶段,资源管理器必须将自己置于以下状态:确保能在被要求提交事务时提交事务,或在被要求回滚事务时回滚事务。大多数资源管理器会 将包含其计划更改的日记文件(或等效文件)写入持久存储区中。如果资源管理器无法准备事务,它会以一个否定响应来回应事务协调器。 |
• | 事务协调器收集来自资源管理器的所有响应。 |
• | 在 第二阶段,事务协调器将事务的结果通知给每个资源管理器。如果任一资源管理器做出否定响应,则事务协调器会将一个回滚命令发送给事务中涉及的所有资源管理 器。如果资源管理器都做出肯定响应,则事务协调器会指示所有的资源管理器提交事务。一旦通知资源管理器提交,此后的事务就不能失败了。通过以肯定的方式响 应第一阶段,每个资源管理器均已确保,如果以后通知它提交事务,则事务不会失败。 |
图 1 事务提交图 1 显示事务成功(提交)。图 2 显示由于某种原因,其中一个资源管理器无法提交时的两阶段提交协议。
图 2 事务被回滚
相关文章推荐
- 关于分布式事务、两阶段提交协议、三阶提交协议
- 分布式事务、两阶段提交协议、三阶提交协议
- 关于分布式事务、两阶段提交协议、三阶提交协议
- MySQL Cluster数据分布/分区,两阶段提交协议及事务资源
- (进阶)数据库集群的分布式事务、两阶段提交协议、三阶提交协议
- 关于分布式事务、两阶段提交协议、三阶提交协议
- 【转】关于分布式事务、两阶段提交协议、三阶提交协议
- 分布式协议之两阶段提交协议(2PC)和改进三阶段提交协议(3PC)
- 2PC 两阶段提交协议
- 两阶段提交协议
- 两阶段提交协议 (原文链接http://blog.csdn.net/nieanan3602/article/details/8375077)
- 什么是两阶段提交协议 (2阶段提交协议)
- 一致性算法之二: 两阶段提交协议 完整易理解
- 两阶段提交协议的异常处理
- 什么是两阶段提交协议
- JTA及两阶段提交协议
- 3PC 三阶段提交协议
- XA,两阶段提交和X/Open协议
- 分布式事务—两阶段提交协议
- 关于分布式事务、两阶段提交协议、三阶提交协议