阿里开源分布式事务框架(一)seata (fescar)介绍

文章目录

  • 什么是Seata?
      • 微服务中的分布式事务问题
      • Seata怎么样?
      • 历史

之前是叫fescar,后来改名为seata

什么是Seata?

一种分布式事务解决方案,具有高性能和易于使用的微服务架构。

微服务中的分布式事务问题

让我们想象一下传统的单片应用程序。其业务由3个模块构成。他们使用单个本地数据源。

当然,本地事务将保证数据的一致性。

阿里开源分布式事务框架(一)seata (fescar)介绍_第1张图片

微服务架构的情况发生了变化。上面提到的3个模块被设计为3个不同数据源之上的3个服务(模式:每个服务的数据库)。本地事务自然保证每个服务中的数据一致性。

但整个业务逻辑范围如何呢?
阿里开源分布式事务框架(一)seata (fescar)介绍_第2张图片

Seata怎么样?

Seata只是上述问题的解决方案。
阿里开源分布式事务框架(一)seata (fescar)介绍_第3张图片
首先,如何定义分布式事务?

我们说,分布式事务是一个全局事务,由一批分支事务组成,通常分支事务只是本地事务。
阿里开源分布式事务框架(一)seata (fescar)介绍_第4张图片
Seata有3个基本组件:

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

阿里开源分布式事务框架(一)seata (fescar)介绍_第5张图片
Seata管理分布式事务的典型生命周期:

  1. TM要求TC开始新的全球交易。TC生成表示全局事务的XID。
  2. XID通过微服务的调用链传播。
  3. RM将本地事务注册为XID到TC的相应全局事务的分支。
  4. TM要求TC提交或回滚XID的相应全局事务。
  5. TC在XID的相应全局事务下驱动所有分支事务以完成分支提交或回滚。
    阿里开源分布式事务框架(一)seata (fescar)介绍_第6张图片

历史

蚂蚁金融

  • XTS:扩展交易服务。Ant Financial中间件团队自2007年以来开发了分布式事务中间件,广泛应用于Ant Financial,解决了跨数据库和服务的数据一致性问题。

  • DTX:分布式事务扩展。自2013年以来,XTS已在Ant Financial Cloud上发布,名称为DTX。

阿里巴巴

  • TXC:淘宝交易构造函数。阿里巴巴中间件团队自2014年起启动该项目,以解决因应用程序架构从单片机改为微服务而导致的分布式事务问题。
  • GTS:全球交易服务。TXC作为Aliyun中间件产品,新名称GTS自2016年起发布。
  • Fescar:我们从2019年开始基于TXC / GTS开源开源项目Fescar,以便在未来与社区密切合作。

Seata社区

  • Seata:简单的可扩展自治交易架构。Ant Financial加入Fescar,使其成为一个更加中立和开放的分布式交易社区,Fescar将重命名为Seata。

你可能感兴趣的:(分布式事务)