阿里分布式事务框架GTS开源了!

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.csdn.net/forezp。 https://blog.csdn.net/forezp/article/details/86634907
转载请标明出处:
https://blog.csdn.net/forezp/article/details/86634907
本文出自方志朋的博客

就在昨天,阿里分布式事务框架GTS开源了一个免费社区版Fescar,看到了这个消息内心非常的激动。在微服务系统中,分布式事务一直是痛点,也是难点。社区里也有一些开源的分布式解决方案的框架,比如ByteTCC、LCN,但是这些框架没有一个权威的组织在维护,或多或少大家都有点不敢用。阿里开源的分布式事务解决框架Fescar会不会一统分布式事务江湖,大家拭目以待。

我们现在来看看什么是FESCAR。Fescar项目地址:https://github.com/alibaba/fescar

什么是FESCAR?
FESCAR是一种分布式事务解决方案,具有高性能和易用性的微服务架构。

微服务中的分布式事务问题
在传统的单体应用程序中,假设我们的业务由3个模块构成,分为库存、订单、账户模块。 他们使用同一个单个本地数据源。

本地事务可以保证数据的一致性。

微服务架构发生了变化。提到的3个模块设计为3个不同数据源之上的3个服务(每个服务单独的数据库)。 本地事务能够保证每个服务中的数据一致性。

但是在分布式微服务系统总共,整个业务逻辑的一致性如何保证呢?

FESCAR是怎么解决上面提出的问题?
FESCAR为上述问题即分布式事务问题,提供了解决方案。

首先,如何定义分布式事务?

分布式事务是一个全局事务,由一批Branch Transation组成,通常Branch Transation只是本地事务。

在FESACR项目中有3个基本组件:

事务协调员(TC):维护全局和分支事务的状态,推动全局提交或回滚。
事务管理者(TM):定义全局事务的范围:开始全局事务,提交或回滚全局事务。
资源管理器(RM):管理分支事务处理的资源,与TC通信以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。


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

TM要求TC开始新的全局事务。 TC生成表示全局事务的XID。
XID通过微服务的调用链传播。
RM将本地事务注册为XID到TC的相应全局事务的分支。
TM要求TC提交或回滚XID的相应全局事务。
TC在XID的相应全局事务下驱动所有分支事务以完成分支提交或rollbaking。


历史
TXC:淘宝分布式事务组件。 阿里巴巴中间件团队自2014年启动该项目,以满足应用程序架构从单一服务变为微服务所导致的分布式事务问题。
GTS:全局事务服务。 TXC作为Aliyun中间件产品,2016年更换新名称GTS。
FESCAR:2019年开源基于TXC / GTS的开源项目FESCAR,以便与社区密切合作,共同成长
--------------------- 
作者:方志朋 
来源:CSDN 
原文:https://blog.csdn.net/forezp/article/details/86634907 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值