美文网首页Java
【5分钟背八股】2PC和3PC的区别是什么?

【5分钟背八股】2PC和3PC的区别是什么?

作者: 废柴程序员 | 来源:发表于2022-06-21 19:11 被阅读0次

    面试官:2PC和3PC的区别是什么?

    • 3pc比2pc多了一个can commit阶段,减少了不必要的资源浪费。因为2pc在第一阶段会占用资源,而3pc在这个阶段不占用资源,只是校验一下sql,如果不能执行,就直接返回,减少了资源占用。

    • 引入超时机制。同时在协调者和参与者中都引入超时机制。

    2pc:只有协调者有超时机制,超时后,发送回滚指令。

    3pc:协调者和参与者都有超时机制。

    协调者超时: can commit,pre commit中,如果收不到参与者的反馈,则协调者向参与者发送中断指令。
    参与者超时: pre commit阶段,参与者进行中断; do commit阶段,参与者进行提交。

    【5分钟背八股】60:2PC和3PC的区别是什么?.png

    推荐阅读:【JAVA面试八股[最新高频]:Java基础/SSM框架/设计模式/SpringBoot/JVM/分布式/微服务/ES/多线程/redis/mysql/大厂算法!】

    相关文章

      网友评论

        本文标题:【5分钟背八股】2PC和3PC的区别是什么?

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