返回介绍

Seata 柔性事务

发布于 2021-09-25 22:17:11 字数 747 浏览 957 评论 0 收藏 0

Seata是阿里集团和蚂蚁金服联合打造的分布式事务框架。 其 AT 事务的目标是在微服务架构下,提供增量的事务 ACID 语意,让开发者像使用本地事务一样,使用分布式事务,核心理念同 Apache ShardingSphere 一脉相承。

Seata AT 事务模型包含TM (事务管理器),RM (资源管理器) 和 TC (事务协调器)。 TC 是一个独立部署的服务,TM 和 RM 以 jar 包的方式同业务应用一同部署,它们同 TC 建立长连接,在整个事务生命周期内,保持远程通信。 TM 是全局事务的发起方,负责全局事务的开启,提交和回滚。 RM 是全局事务的参与者,负责分支事务的执行结果上报,并且通过 TC 的协调进行分支事务的提交和回滚。

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

  1. TM 要求 TC 开始一个全新的全局事务。TC 生成一个代表该全局事务的 XID。
  2. XID 贯穿于微服务的整个调用链。
  3. 作为该 XID 对应到的 TC 下的全局事务的一部分,RM 注册本地事务。
  4. TM 要求 TC 提交或回滚 XID 对应的全局事务。
  5. TC 驱动 XID 对应的全局事务下的所有分支事务完成提交或回滚。

Seata AT事务模型

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文