6)三阶段提交协议3PC(在2PC基础上增加了,全局预提交和准备就绪,两个报文,可以确认所有参与者的状态)
第一阶段,协调者向所有的参与者发“准备提交”报文,只有所有参与者都投票“建议提交”,才会进入第二阶段;
第二阶段,协调者向所有的参与者发“全局预提交”报文,只有所有参与者都投票“准备就绪”,才能进入第三阶段;
第三阶段,协调者向所有的参与者发“全局提交”报文。
3PC仅降低了阻塞发生的可能性,不是完全的非阻塞协议。
3PC对故障的恢复: 协调者发出的“准备提交”报文延迟,参与者超时而撤销子事务;
协调者等待参与者投票时超时,协调者将撤销事务;
参与者处于“赞成提交”状态,而等待全局预提交时超时,参与者将进入恢复处理过程;
参与者处于“准备就绪”状态,而等待全局提交时超时,参与者将进入恢复处理过程。
在3PC协议中,恢复处理过程惟一可以做的是就近访问一个参与者,依照协调者之前作出的决定安排自己的操作。