博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两阶段提交协议
阅读量:4168 次
发布时间:2019-05-26

本文共 592 字,大约阅读时间需要 1 分钟。

实现分布式事务的关键就是两阶段提交协议。在此协议中,一个或多个资源管理器的活动均由一个称为事务协调器的单独软件组件来控制。此协议中的五个步骤如下:

• 应用程序调用事务协调器中的提交方法。

 
• 事务协调器将联络事务中涉及的每个资源管理器,并通知它们准备提交事务(这是第一阶段的开始)。
 
• 为 了以肯定的方式响应准备阶段,资源管理器必须将自己置于以下状态:确保能在被要求提交事务时提交事务,或在被要求回滚事务时回滚事务。大多数资源管理器会 将包含其计划更改的日记文件(或等效文件)写入持久存储区中。如果资源管理器无法准备事务,它会以一个否定响应来回应事务协调器。
 
• 事务协调器收集来自资源管理器的所有响应。
 
• 在 第二阶段,事务协调器将事务的结果通知给每个资源管理器。如果任一资源管理器做出否定响应,则事务协调器会将一个回滚命令发送给事务中涉及的所有资源管理 器。如果资源管理器都做出肯定响应,则事务协调器会指示所有的资源管理器提交事务。一旦通知资源管理器提交,此后的事务就不能失败了。通过以肯定的方式响 应第一阶段,每个资源管理器均已确保,如果以后通知它提交事务,则事务不会失败。
 

图 1 和图 2 通过两个顺序图来说明两阶段提交协议。

                           图 1 事务提交

图 1 显示事务成功(提交)。图 2 显示由于某种原因,其中一个资源管理器无法提交时的两阶段提交协议。

                          图 2 事务被回滚

 

 

转载地址:http://zdgxi.baihongyu.com/

你可能感兴趣的文章
python sorted()函数
查看>>
python reverse()方法
查看>>
Python sort( ) sorted( ) reverse( ) reversed( ) 总结
查看>>
python 工厂函数
查看>>
python 序列类型可用的内建函数
查看>>
python 如何输出百分数(如23%)
查看>>
python 字符串内建函数
查看>>
python 回文字符串 回文数字
查看>>
python字符串内建函数str.index()和str.rindex()
查看>>
python str.title( )和str.istitle( )
查看>>
python字符串应用举例:判断是否满足标题格式
查看>>
python 转义字符
查看>>
python切片操作
查看>>
python 中的split()函数和os.path.split()函数
查看>>
python zip( )函数
查看>>
python 矩阵转置
查看>>
python 使用zip合并相邻的列表项
查看>>
python iter( )函数
查看>>
python callable()函数
查看>>
python 使用zip反转字典
查看>>