阿里分布式事务Seata踩坑亲身实践

分布式事务框架(Seata)介绍

Seata:Simple Extensible Autonomous Transaction Architecture,简易可扩展的自治式分布式事务管理框架。2014 年,阿里巴巴中间件团队发布 TXC(Taobao Transaction Constructor),为集团内应用提供分布式事务服务,经过多年的技术沉淀,于 2016 年产品化改造为 GTS(Global Transaction Service),通过阿里云解决方案在众多外部客户中落地实施。2019 年 1 月,基于技术积累,阿里巴巴中间件团队发起了开源项目 Fescar(Fast & EaSy Commit And Rollback, Fescar),和社区一起共建分布式事务解决方案。同年,蚂蚁金服的加入引发了社区核心成员的讨论,为了达到适用于所有的分布式事务业务场景的目标,也为了社区更中立、更开放、生态更加丰富,社区核心成员们决定进行品牌升级,改名 Seata。Seata 意为:Simple Extensible Autonomous Transaction Architecture,是一套一站式分布式事务解决方案。

seata主要由三个重要组件组成:
Transaction Coordinator(TC):管理全局的分支事务的状态,用于全局性事务的提交和回滚。
Transaction Manager™:事务管理器,用于开启全局事务、提交或者回滚全局事务,是全局事务的开启者。
Resource Manager(RM):资源管理器,用于分支事务上的资源管理,向TC注册分支事务,上报分支事务的状态,接受TC的命令来提交或者回滚分支事务。

在实践Seata的过程中发现几篇写的很好的文章,在此记录下

1.springboot集成分布式事务Seata 搭建项目Demo地址
https://blog.csdn.net/zhangchangbin123/article/details/89391982

2.掘金Seata踩坑文章
https://juejin.im/post/5d19ee6af265da1bcd37effa

3.个人总结

所有使用分布式事务的项目都需要

  • 引入Seata的相关依赖
  • DataSourceProxy代理数据源
  • 数据库新建表undo_log
  • 连接seata服务器地址
  • 开始分布式事务的接口加注解 @GlobalTransactional(timeoutMills = 300000, name = “spring-cloud-demo-tx”)

注:不同数据库也可以做到分布式事务(已实践)

发布了54 篇原创文章 · 获赞 28 · 访问量 4243

猜你喜欢

转载自blog.csdn.net/qq_37174887/article/details/100545725