https://www.jianshu.com/p/917cb4bdaa03
微服务兴起这几年涌现出不少分布式事务框架,比如ByteTCC、TCC-transaction、EasyTransaction以及最近很火爆的Seata。最近刚看了Seata的源码(v0.5.2),借机记录一下自己对分布式事务的一些理解。(3年前这类框架还没成熟,项目需要自己也写过一个柔性事务框架)
本文分五部分,首先明确分布式事务概念的演变,然后简单说下为什么大家不用XA,第三部分阐述两阶段提交的提升,第四部分介绍Seata的架构的亮点与问题,第五部分谈下分布式事务的取舍。 限于篇幅一些网上可搜索的细节本文不展开阐述。(例如XA、Saga、TCC、Seata等原理的的详细介绍)
1.分布式事务的泛化
提起分布式事务,最早指的涉及多个资源的数据库事务问题。