FESCAR(Fast & Easy Commit And Rollback) 是一个用于微服务架构的分布式事务解决方案,它的特色是高性能且易于使用,旨在实现简单并快速的事务提交与回滚。git
咱们如今来看看什么是FESCAR。Fescar项目地址:github
https://github.com/alibaba/fescar数据库
从传统的单体应用提及,假设一个单体应用的业务由 3 个模块构成,三者使用单个本地数据源。架构
这样的话本地事务很天然就能够保证数据一致性。分布式
可是在微服务架构中就不这么简单了,这 3 个模块被设计为 3 个不一样数据源之上的 3 个服务,每一个服务对应一个数据库。微服务
本地事务固然也能够保证每一个服务中的数据一致性,可是扩展到整个应用、整个业务逻辑范围来看,状况如何呢?性能
FESCAR 就是用于解决上述微服务架构中的事务问题的解决方案。spa
以下图所示,分布式事务是一个全局事务(Global Transaction),由一批分支事务(Branch Transation)组成,一般分支事务只是本地事务。设计
FESCAR 中有三大基本组件:中间件
FESCAR 管理分布式事务的典型生命周期:
TXC:Taobao Transaction Constructor,阿里巴巴中间件团队自 2014
年起启动该项目,以知足应用程序架构从单一服务变为微服务所致使的分布式事务问题。
GTS:Global Transaction Service,2016 年 TXC 做为阿里中间件的产品,改名为 GTS 发布。
FESCAR:2019 年开始基于 TXC/GTS 开源 FESCAR