zookeeper

作者: 徐振杰 | 来源:发表于2019-03-26 13:30 被阅读0次

2pc两阶段的提交:
先确认 prepare获得确认,然后commit
优点:原理简单,实现方便
缺点:

  1. 同步阻塞:每个参与者要等待其他所有的参与者,限制性能
  2. 单点问题:如果协调者出现问题,尤其是在第二个阶段,会导致出去锁定事物资源的状态
  3. 数据不一致:如果再commit之后发生了网络异常会导致数据不一致
  4. 如果参与者故障,协调者只能通过自己的超时判断终端事物,任何一个节点都可能导致事物失败

3pc三阶段的提交:
深入理解分布式系统的2PC和3PC
存在的问题:
在doCommit阶段,如果参与者无法及时接收到来自协调者的doCommit或者rebort请求时,会在等待超时之后,会继续进行事务的提交。

所以,由于网络原因,协调者发送的abort响应没有及时被参与者接收到,那么参与者在等待超时之后执行了commit操作。这样就和其他接到abort命令并执行回滚的参与者之间存在数据不一致的情况。

相关文章

网友评论

      本文标题:zookeeper

      本文链接:https://www.haomeiwen.com/subject/gshivqtx.html