分布式事務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