暂无图片
分享
2023-01-20
2PC中的协调者故障?

2PC中的协调者故障?

收藏
分享
1条回答
默认
最新
天空

2PC的提交阶段中,如果某个参与者没有收到协调者的提交或中止指令,则应当尝试找出协调者做出的决定。协调者可能已经决定了该值,但未能传达给某个副本。在这种情况下,可以从其他参与者的事务日志或是备份协调者的日志中找到决策信息。从复制日志中确定提交决定是安全的,因为这个决定一定是已经达成一致的:2PC的最终目的就是在所有节点上提交或中止,在一个参与者中提交即意味其他所有参与者都必须提交。

在准备阶段中,协调者收集投票,继而了就获得了参与者的承诺:它们将等待其明确的提交或中止指令。如果协调者在收集投票后、广播投票结果之前发生故障,则参与者最终将处于不确定状态。

协调者无法继续进行提交或中止操作,这使得集群处于未决状态。这意味着在发生协调者永久性故障的情况,参与者将无法得知最终决定。因为这个特性,我们说2PC是一种阻塞原子提交算法。如果协调者始终无法恢复,它的替代只能再次为给定事务收集投票,并做最终决定。

暂无图片 评论
暂无图片 有用 2
暂无图片
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏