分布式事务开源解决方案——FESCAR

分布式事务开源解决方案——FESCAR_第1张图片

题图 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_第2张图片

Fescar管理的分布式事务的典型生命周期

  1. TM要求TC开始新的全局事务。TC生成一个表示全局事务的xid。

  2. xid通过微服务的调用链传播。

  3. RM将本地事务注册为xid到TC的相应全局事务的分支。

  4. TM请求TC提交或回滚xid的相应全局事务。

  5. TC驱动xid对应的全局事务下的所有分支事务完成分支提交或回滚。

分布式事务开源解决方案——FESCAR_第3张图片

本篇仅提供一个引子,详细了解Fescar理论以及如何将Fescar应用到项目中可参照官方文档,地址:https://github.com/alibaba/fescar。

640?wx_fmt=png

 往期推荐:

  • 基于SpringCloud的Microservices架构实战案例

  • 2018年大龄程序员书单

  • JVM参数调优利器——XXFox

  • 基于SpringBoot的Web API快速开发基础框架

  • 基于SpringBoot-Dubbo的微服务快速开发框架

  • 如何从传统软件开发顺利过渡到互联网技术开发

  • 那些会阻碍程序员成长的细节[7]

  • 30多岁挨踢人要转行的焦虑,是真的吗

  • 如何快速的积累经验

  • 学习新技术时你应当掌握的『最少必要知识』

  • 2018,我为什么离开舒适区?

  • 代码、功能、系统、产品、生态

640?wx_fmt=jpeg

长按2秒,识别二维码,关注我

你可能感兴趣的:(分布式事务开源解决方案——FESCAR)