分布式事务AT、TCC、Saga、XA 模式分析对比

总结 AT、TCC、Saga、XA 模式分析

分布式事务模式 介绍 技术栈
AT 模式 无侵入的分布式事务解决方案,适用于不希望对业务进行改造的场景,几乎0学习成本(sql都由框架托管统一执行,会存在脏写问题) seata、shardingsphere
TCC 模式 高性能分布式事务解决方案,适用于核心系统等对性能有很高要求的场景(第一阶段会产生行锁,事务执行太久会锁行很久 seata、service-comb
Saga 模式 长事务解决方案,适用于业务流程长且需要保证事务最终一致性的业务系统(第一阶段就操作DB,会存在脏读问题) seata、shardingsphere、service-comb
XA模式 分布式强一致性的解决方案,但性能低而使用较少。 seata、shardingsphere
Saga和TCC模式区别不大,TCC就是多了个锁行的步骤(避免了脏读,但事务执行太久会导致锁行很久,不适用于长事务)

注:

  1. shardingsphere的Saga 模式 引擎使用的是service-comb(较comb实现了解析sql自动回滚)
  2. shardingsphere的AT模式引擎是用的Seata引擎
  3. shardingsphere是从Sharding-JDBC进化而来,分库分表使用很火

shardingsphere开源地址:https://github.com/apache/shardingsphere (当当开源)

seata开源地址:https://github.com/seata/seata (阿里2019年开源)

service-comb开源地址:https://github.com/apache/servicecomb-pack (华为2017年开源)

posted @ 2020-10-27 16:37  JaminX86  阅读(8822)  评论(1编辑  收藏  举报