Seata分布式事务解决方案

seata介绍

  1. Seata是一款致力于高性能和简单易用的分布式解决方案。
  2. Seata主要提供了AT、TCC、SAGA 和 XA 事务模式,阿里首推的模式的AT。
  3. 在Seata中存在三种角色,分别是:TC(事务协调者,维护全局和分支事务,解决分布式事务的提交/回滚)。TM(事务管理者,事务的执行者)。RM(资源管理者,管理分支事务的资源并于TM进行交互并上报当前事务的状态)。
  4. TC 为单独部署的Server服务,TM和RM嵌入到应用中(client端)。
    在这里插入图片描述

Seata设计分析

  1. Seata是对二阶段提交协议的一种改进方案,在第一阶段:业务数据和回滚日志记录在本地事务中,核心在于会根据业务sql解析转换成undolog,也就是说会将资源生成前置镜像存放到undo_log_table中,供之后的事务操作提供判断和回滚的支持。
  2. 第二阶段:分布式事务执行成功的话,TC就通知RM异步删除undolog。如果失败的话,会由TM向TC提交回滚请求,而TC就会通知RM进行事务回滚,RM通过XID 和 分支事务Id 找到对应的undo_log日志记录,通过undo_log记录反向生成更新sql执行,完成分支的回滚。

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值