分布式事务开源解决方案——FESCAR
Posted 歪脖贰点零
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式事务开源解决方案——FESCAR相关的知识,希望对你有一定的参考价值。
题图 From unsplash
分布式事务开源解决方案——FESCAR
涉及到的分布式事务,想必大家都是盼着有一个开箱即用的解决方案,而不是自己动手来写。阿里云有款产品叫“全局事务服务 GTS”,但终究是收费的,且只能运行在阿里云平台,多少有些遗憾。
下面来看看什么是fescar,github上给出来的Description是这样的:
fescar is an easy-to-use, high-performance, java based, open source distributed transaction solution.
再扒一扒,还能看到GTS的身影的。
演进历史
TXC:Taobao Transaction Constructor。
GTS:Global Transaction Service,2016年TXC作为阿里中间件的产品,更名为 GTS 发布。
FESCAR:开始基于TXC/GTS开源FESCAR。2019-01-09日发布首个版本v0.1.0,支持Dubbo,SpringCloud,Motan等框架。
FESACR包含三个最基本的组件
Transaction Coordinator(TC) : 维护局部、全局事务状态,推动全局事务提交或回滚。
Transaction Manager(TM) : 定义全局事务范围:开启、提交或回滚。
Resource Manager(RM) : 管理正在处理的分支事务的资源,与TC对话以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。
Fescar管理的分布式事务的典型生命周期
TM要求TC开始新的全局事务。TC生成一个表示全局事务的xid。
xid通过微服务的调用链传播。
RM将本地事务注册为xid到TC的相应全局事务的分支。
TM请求TC提交或回滚xid的相应全局事务。
TC驱动xid对应的全局事务下的所有分支事务完成分支提交或回滚。
往期推荐:
基于SpringBoot的
以上是关于分布式事务开源解决方案——FESCAR的主要内容,如果未能解决你的问题,请参考以下文章
alibaba/fescar 阿里巴巴 开源 分布式事务中间件