美文网首页
分布式事务

分布式事务

作者: 琥珀灬 | 来源:发表于2018-07-23 11:11 被阅读0次

    基于XA协议的两阶段提交方案(2pc)

    第一阶段 第二阶段

    XA 规范的基础是两阶段提交协议:第一阶段是表决阶段,所有参与者都将本事务能否成功的信息反馈发给协调者;第二阶段是执行阶段,协调者根据所有参与者的反馈,通知所有参与者,步调一致地在所有分支上提交或者回滚,两阶段提交方案锁定资源时间长,对性能影响很大,基本不适合解决微服务事务问题。


    TCC方案

            TCC事务是Try、Commit、Cancel三种指令的缩写,其逻辑模式类似于XA两阶段提交,但是实现方式是在代码层面来人为实现,Try部分完成业务的准备工作,confirm部分完成业务的提交,cancel部分完成事务的回滚。

    优点:

    TCC方案让应用自己定义数据库操作的粒度,使得降低锁冲突、提高吞吐量成为可能。 

    缺点:

    对应用的侵入性强。业务逻辑的每个分支都需要实现try、confirm、cancel三个操作,应用侵入性较强,改造成本高。

    实现难度较大。需要按照网络状态、系统故障等不同的失败原因实现不同的回滚策略。为了满足一致性的要求,confirm和cancel接口必须实现幂等


    MQ事务

    利用消息中间件来异步完成事务的后一半更新,实现系统的最终一致性。这个方式避免了像XA协议那样的性能问题。


    GTS–分布式事务解决方案(阿里分布式组件)

    性能超强、应用侵入性极低

    东西比较多自行深入了解

    相关文章

      网友评论

          本文标题:分布式事务

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