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