• Seata-Saga模式简介与三种模式对比


    1、Saga模式简单介绍

            Saga 模式是 Seata 开源的长事务解决方案,将由蚂蚁金服主要贡献。在 Saga 模式下,分布式事务内有多个参与者,每⼀个参与者都是⼀个冲正补偿服务,需要用户根据业务场景实现其正向操作和逆向回滚操作。

            分布式事务执行过程中,依次执行各参与者的正向操作,如果所有正向操作均执行成功,那么分布式事务提交。如果任何一个正向操作执行失败,那么分布式事务会去退回去执行前面各参与者的逆向回滚操作,回滚已提交的参与者,使分布式事务回到初始状态。

     适用场景:

    • 业务流程长、业务流程多
    • 参与者包含第三方公司或遗留系统服务,无法提供 TCC 模式要求的三个接口
    • 典型业务系统:如金融网络(与外部金融机构对接)、互联网微贷、渠道整合等业务系统

    2、三种模式对比

    ATTCCSage
    集成难度⾮常高中等
    隔离性保证保证不保证
    推荐度
    数据库改造UNDO_LOG 流程与实例表
    实现机制DataSource代理TCC实现状态机
    场景自研项目全场景,拥有数据访问权限,快速集成场景更高的性能要求,更复杂的场景长流程,涉及大量第三方调用
    • AT 模式是无侵入的分布式事务解决方案,适用于不希望对业务进行改造的场景,几乎0学习成本。
    • TCC 模式是高性能分布式事务解决方案,适用于核心系统等对性能有很高要求的场景。
    • Saga 模式是长事务解决方案,适用于业务流程长且需要保证事务最终⼀致性的业务系统,Saga 模式一阶段就会提交本地事务,无锁,长流程情况下可以保证性能,多用于渠道层、集成层业务系统。事务参与者可能是其它公司的服务或者是遗留系统的服务,无法进行改造和提供 TCC 要求的接口,也可以使用Saga 模式。
  • 相关阅读:
    电脑WIFI突然消失
    SpringMVC:拦截器(动力)
    Java中常见的运行时异常
    openresty安装配置,执行shell脚本
    备忘录模式(Memento Pattern)
    【读书笔记】《我在北京送快递》——记录的意义
    Python学习一:基本内容
    D. Sorting By Multiplication
    C. Strange Test(位运算或)
    Day20——最大二叉树、合并二叉树、二叉搜索树中的搜索、验证二叉搜索树
  • 原文地址:https://blog.csdn.net/weixin_52851967/article/details/126704256