Seata全称是Simple Extensible Autonomous Transaction Architecture,是由阿里巴巴开源的具有高性能和易用性的分布式事务解决方案。

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

我们的电商系统使用的是微服务架构,由仓库、订单、用户三个微服务组成,三个微服务分别有着自己的本地数据源。开始事务后,每个服务本身能保证数据一致性,但是服务之间将无法保证数据一致性。这也许是很多企业遇到的问题,而Seata就是解决此类问题的。

Seata组织结构

  • 事务协调器(TC):维护全局和分支事务的状态,驱动全局提交或回滚。

  • 事务管理器(TM):定义全局事务的范围:开始全局事务、提交或回滚全局事务。

  • 资源管理器(RM):管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

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

  • TM要求TC开始新的全局事务。TC生成代表全局事务的XID。

  • XID通过微服务的调用链传播。

  • RM将本地事务注册为XID到TC的相应全局事务的分支。

  • TM请求TC提交或回滚XID的相应全局事务。

  • TC驱动XID对应全局事务下的所有分支事务,完成分支提交或回滚。

版权声明:本文为jigang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jigang/p/12997297.html