我是靠谱客的博主 笑点低飞机,最近开发中收集的这篇文章主要介绍2PC与3PC的区别是什么?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.3PC比2PC多了一个cancommit阶段,减少了不必要的资源浪费。

因为2PC的第一阶段直接就执行事务操作并将事务信息写入日志了,要是后面失败就浪费了资源;而3PC的cancommit阶段可以校验是否可以执行,如果不能执行就直接返回,这样就减少了资源的浪费。

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

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

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

        协调者超时:cancommit、precommit中,如果收不到参与者的反馈,则协调者向参与者发送终止指令。

        参与者超时:1.precommit阶段中,参与者接收不到协调者的指令会自己进行中断(cancommit阶段不存在超时,因为协调者第一次给参与者发送指令,所以在precommit阶段才是参与者第一次遇到超时的情况);2.docommit阶段,参与者等不到协调者的指令,参与者会自己进行提交。

最后

以上就是笑点低飞机为你收集整理的2PC与3PC的区别是什么?的全部内容,希望文章能够帮你解决2PC与3PC的区别是什么?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部