我正在阅读维基百科(http://en.wikipedia.org/wiki/Three-phase_commit_protocol)上的 3 阶段提交协议,这是我想到的 3PC 将失败的场景:
假设有两个参与者 A 和 B 以及一个协调者 C:
1)C 向 A 发送了 precommit 消息,在它向 B 发送 precommit 消息之前,A 和 C 同时失败。2)事务现在重新启动,B 最终中止它,因为没有来自 A 的回复。 3)A 提交事务,因为它已经收到了 precommit 消息。
这不也是3PC应该解决的2PC的原始问题吗?3PC是如何解决问题的?我错过了什么。谢谢。