两阶段提交协议 2PC

1. 第一阶段(投票阶段):

(1)协调者节点向所有参与者节点询问是否可以执行提交操作(vote),并开始等待各参与者节点的响应;

(2)参与者节点执行询问发起为止的所有事务操作,并将Undo信息和Redo信息写入日志。
(3)各参与者节点响应协调者节点发起的询问。如果参与者节点的事务操作实际执行成功,则它返回一个”同意”消息;如果参与者节点的事务操作实际执行失败,则它返回一个”中止”消息。

2. 第二阶段(提交执行阶段):
当协调者节点从所有参与者节点获得的相应消息都为”同意”时:

(1)协调者节点向所有参与者节点发出”正式提交(commit)”的请求;

(2)参与者节点正式完成操作,并释放在整个事务期间内占用的资源;

(3)参与者节点向协调者节点发送”完成”消息;

(4)协调者节点受到所有参与者节点反馈的”完成”消息后,完成事务。

标签: 参与者、协调者、节点、询问、事务、面试
  • 回复
隐藏