IT袋

当前位置:主页 > 对比评测 >

对比两阶段

对比两阶段 三阶段有哪些改进

时间:2023-11-02 22:59:12 来源:IT袋 作者:马勇
导读:对比两阶段,关于对比两阶段的相关知识,下面小编为您详细解答 两阶段协议 第一阶段(prepare) :每个参与者执行本地事务但不提交,进入ready状态,并通知协调者已经准备就绪。

对比两阶段

关于对比两阶段的相关知识,下面小编为您详细解答

两阶段协议

对比两阶段

第一阶段(prepare):每个参与者执行本地事务但不提交,进入ready状态,并通知协调者已经准备就绪。

第二阶段(commit):当协调者确认每个参与者都ready后,通知参与者进行commit操作;如果有参与者fail,则发送rollback命令,各参与者做回滚。

两阶段协议的问题

  • 单点故障:一旦事务管理器出现故障,整个系统不可用(参与者都会阻塞住)
  • 数据不一致:在阶段二,如果事务管理器只发送了部分commit消息,此时网络发生异常,那么只有部分参与者接收到commit消息,也就是说只有部分参与者提交了事务,使得系统数据不一致。
  • 响应时间较长:参与者和协调者资源都被锁住,提交或者回滚之后才能释放
  • 不确定性:当协事务管理器发送commit之后,并且此时只有一个参与者收到了commit,那么当该参与者与事务管理器同时宕机之后,重新选举的事务管理器无法确定该条消息是否提交成功。

三阶段协议

主要是针对两阶段的优化,解决了2PC单点故障的问题,但是性能问题和不一致问题仍然没有根本解决引入了超时机制解决参与者阻塞的问题,超时后本地提交,2pc只有协调者有超时机制

第一阶段:CanCommit阶段,协调者询问事务参与者,是否有能力完成此次事务。如果都返回yes,则进入第二阶段有一个返回no或等待响应超时,则中断事务,并向所有参与者发送abort请求

第二阶段:PreCommit阶段,此时协调者会向所有的参与者发送PreCommit请求,参与者收到后开始执行事务操作。参与者执行完事务操作后(此时属于未提交事务的状态),就会向协调者反馈“Ack”表示我已经准备好提交了,并等待协调者的下一步指令。

第三阶段:DoCommit阶段,在阶段二中如果所有的参与者节点都返回了Ack,那么协调者就会从预提交状态”转变为“提交状态”。然后向所有的参与者节点发送”doCommit”请求,参与者节点在收到提交请求后就会各自执行事务提交操作,并向协调者节点反馈“Ack”消息,协调者收到所有参与者的Ack消息后完成事务。相反,如果有一个参与者节点未完成PreCommit的反馈或者反馈超时,那么协调者都会向所有的参与者节点发送abort请求,从而中断事务。

以上就是IT袋网带来的对比两阶段 跟 三阶段有哪些改进的全面方法讲解,希望为您起一个抛砖引玉袋作用,能解决您生活中的问题吧。

相关阅读

  • 苹果8p电池耐用吗 关于iphone8和8p参数对比

    苹果8p电池耐用吗 关于iphone8和8p参数对比

    小编为你解答苹果8p电池耐用吗和关于iphone8和8p参数对比的电脑小知识,继续往下看吧! 冬天来了,你的iPhone还经得住又一轮的考验吗?大家好,我是迅维快修深圳店(邓工),今天给大家分

  • dvd播放器哪个好用点 专业dvd播放器推荐

    dvd播放器哪个好用点 专业dvd播放器推荐

    一篇关于dvd播放器哪个好用点和专业dvd播放器推荐方面的知识,一起来了解了解吧。 看 视频 NEW VIEW 今天小泽给大家推荐五款纯净、无广告、 极速、功能强大的播放器 不同于各种商业性质的播

  • 电脑音频剪辑软件哪个好用 免费剪辑音乐的软件推荐

    电脑音频剪辑软件哪个好用 免费剪辑音乐的软件推荐

    一篇方法教程,与您分享电脑音频剪辑软件哪个好用和免费剪辑音乐的软件推荐的相关话题,一定能解决您的问题的,一起来了解吧! 没有经过系统的学习,在面对音频剪辑,大部分人会犯难

  • 安卓手机u盘加密软件哪个好 好用u盘加密软件推荐

    安卓手机u盘加密软件哪个好 好用u盘加密软件推荐

    为大家说一说安卓手机u盘加密软件哪个好和好用u盘加密软件推荐的方法内容,一起来看看吧! U盘在如今的企业办公中仍然在频繁的使用。考虑到数据安全的重要性,对U盘的加密保护必不可少