千家信息网

seata项目中完整的分布式事务过程

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"seata项目中完整的分布式事务过程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一
千家信息网最后更新 2026年11月01日seata项目中完整的分布式事务过程

本篇内容介绍了"seata项目中完整的分布式事务过程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一个完整的分布式事务大致分为以下几步:

  1. TM(bussiness) 向 TC(seata-server) 申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的 XID。

  2. XID 在微服务调用链路的上下文中传播。

  3. RM (account,order,storage)向 TC 注册分支事务,将其纳入 XID 对应全局事务的管辖。

  4. TM 向 TC 发起针对 XID 的全局提交或回滚决议。

  5. TC 调度 XID 下管辖的全部分支事务完成提交或回滚请求。

相关概念

Transaction Coordinator (TC): 事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚;
Transaction Manager(TM): 控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议;
Resource Manager (RM): 控制分支事务,负责分支注册、状态汇报,并接收事务协调器的指令,驱动分支(本地)事务的提交和回滚;

我们模拟一个正常商品下单的过程,整个流程涉及到以下几个步骤:

(1)调用Bussiness服务购买商品;

(2)Bussiness调用storage服务检查并减少库存;

(3)Business调用order服务下单;

(4)order服务调用account服务入账。

模拟客户下单的整个流程如下所示

(注意:图中的全局事务和分支事务是在调用接口时,由seata代理自动注册的)

1.客户下单。

2.请求进入Business服务后,调用下单接口;

下单接口内部实现如下图所示:

该接口开启了一个全局事务,全局事务开启后会在global_table中创建一条全局事务记录(如下图所示),详细记录了全局事务的id发起者名称,事务所属服务组,接口名称等等,记录在事务结束后会自动删除。

下单接口的操作流程是 先扣库存,扣除成功后再创建订单。

3.扣减库存时调用库存服务的deduct()接口, 接口的详细实现如下图所示

该接口是在全局事务内调用的,因此可以获取到全局事务的XID,通过该ID可以去global_table中查询全局事务的详细信息,如状态等。

该接口也开启了事务,因此会创建一个分支事务,并在branch_table表中插入一条分支事务记录,分支事务信息如下

4.库存扣除成功后,调用订单服务下单。

5下单成功后,调用账户服务扣钱。

"seata项目中完整的分布式事务过程"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

事务 全局 服务 接口 分支 库存 过程 成功 分布式 流程 状态 项目 信息 内容 决议 名称 商品 客户 是在 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国互联网科技发展 九亚互联网科技 互联网汽车科技小镇 须眉科技是互联网公司吗 随着互联网科技发展 厦门千工互联网科技有限公司 苏州铭阳互联网科技有限公司 消费医药和互联网科技 银川新华互联网科技学校联系电话 中国互联网公司排名锤子科技 中和天地互联网科技有限公司 合肥互联网科技公司公章图片 雨阳互联网卡科技有限公司 互联网科技数字货币 西安左小互联网科技有限公司 求路客互联网科技电话 广西泛欧互联网科技有限公司 绵阳真晨互联网科技有限公司 互联网对科技影响 伍佰万互联网科技是干嘛的 小米移动互联网科技园 广州大一互联网络科技有限公司 中国互联网科技工作委员会毛军 互联网科技垄断 四川狮子座互联网科技 华服互联网科技官网 互联网软件和科技 互联网科技平台产品运营 广州三三互联网科技有限公司 上海旺乐尼互联网科技有限公司
0