分布式事务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年开源)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM