美文网首页
分布式事务3PC

分布式事务3PC

作者: bobcorbett | 来源:发表于2017-11-07 16:24 被阅读0次

3PC Three-Phase-Commit 二阶段提交

分为三步:CanCommit、PreCommit和do Commit

阶段一:CanCommit

1、事务询问
协调者向参与者发送包含事务内容的canCommit请求
2、各参与者向协调者反馈询问的响应
参与者根据自身状态反馈yes或no

阶段二:PreCommit

协调者集齐yes
1、发送预提交请求
协调者给各参与者发送preCommit请求,进入prepared阶段
2、事务预提交
参与者接收到preCommit,执行事务,将UNDO和REDO信息记录到事务日志中
3、各参与者向协调者反馈事务执行的响应
参与者反馈ACK

协调者收到no
1、发送中断请求
协调者发送abort
2、中断事务
参与者收到abort或者在阶段一或二中超时,都会中断事务

阶段三:do Commit

协调者收到所有ack
1、发送提交请求
协调者收到所有ack,给所有参与者发送doCommit请求
2、事务提交
参与者接收到doCommit请求后,正式执行事务提交,是否事务资源
3、反馈事务提交结果
参与者反馈ACK消息
4、完成事务
协调者收到所有ACK消息,完成事务

中断事务(二阶段收到no,或者等待超时,没集齐二阶段的ACK)
1、发送中断请求
协调者向所有参与者发送abort
2、事务回滚
参与者收到abort,利于UNDO信息回滚事务,释放资源
3、反馈事务回滚结果
参与者反馈ACK
4、中断事务
协调者集齐所有ACK,中断事务

进入阶段三可能会遇到两种情况

  • 协调者崩溃
  • 网络故障

无论出现哪种情况,最终参与者都收不到doCommit和abort请求,这时,参与者在等待超时后,会继续进行事务提交

优点:解决2PC的单点故障影响整个系统问题

缺点:参与者超时后会继续提交事务,会出现数据不一致性

相关文章

  • RocketMQ实现分布式事务

    一. 概述 常见分布式事务的解决方案有:2PC/3PC, 参考文章: 分布式事务(1)---2PC和3PC原理T...

  • 浅谈大规模分布式系统中那些技术点

    分布式事务 分布式系统的特性 分布式事务的基本介绍 常用的分布式技术说明 理解2PC和3PC协议 「点击阅读」 分...

  • 分布式事务

    主要包括: 分布式基础 分布式事务概念介绍 2PC 和 3PC 分布式事务的具体实现方案 分布式一致性基础 数据库...

  • 一文读懂分布式一致性协议2PC和3PC

    分布式环境下,存在着多个节点,需要保证不同节点之间的数据一致性,提出了分布式事务,而2PC和3PC则是分布式事务的...

  • 分布式系统-数据一致性问题03(分布式事务)

    整理一下之前对于分布式事务解决方案的知识点,包括,传统数据库事务,X/OpenDTP模型,2PC,3PC,柔性事务...

  • 2PC, 3PC 分布式提交协议简述

    2PC, 3PC 分布式提交协议简述 事务 这里主要是指狭义一点的事务即数据库事务,事务一般含有以下一些特点 原子...

  • 分布式事务Saga介绍

    目前常见的分布式事务解决方案有:2pc、3pc、tcc、本地消息表、mq事务、Saga等,其方案对比如下图(从数据...

  • Java从入门到入坑(架构篇)

    01:分布式 数据一致性、服务治理、服务降级 1:分布式事务 2PC、3PC、CAP、BASE、 可靠消息最终一致...

  • 分布式事务方案

    XA方案/两阶段提交方案 这个可以看我之前发的分布式事务之2PC和3PC[https://www.jianshu....

  • 分布式事务、3pc

    对cmu440的3pc总结一下 前提回顾 这里几个问题回顾一下 分布式一致性?分布式系统中,数据库在许多节点都有副...

网友评论

      本文标题:分布式事务3PC

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