关于 2PC 的疑惑

阅读 1.5k
1 个回答

我认为可能是文章笔误,如果在 Phase2 出现了这种情况,则一切都能够得到解释
Why is Two-Phase Commit (2PC) blocking?

在 Phase1 会将相关资源锁住,此时协调者挂掉,没有超时机制,则被锁住的资源没有释放,从而造成阻塞。

在 Phase2,Coordinator 刚发出一个请求给其中一个 Participant,此时并没有发送给其他的 Participants 并没有收到消息,此时,前面两者宕机,备用 Coordinator 并不能通过其他的 Participants 来判断那个宕机的 Participant 是什么状态
A.commited
B.rollback
C.precommit
所以一旦其他 participants 的操作与宕机的那个不一致,则会造成数据的不一致,所以会造成堵塞

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进