展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

seata简介

  • 分布式微服务中是多个微服务调用多个数据库,每个服务内部的数据一致性由本地事务来保证, 但是全局的数据一致性问题没法保证;一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题

  • Seata是一款开源的分布式事务解决方案

  • 分布式事务处理过程的一ID+三组件模型:

Transaction ID XID 全局唯一的事务ID

三组件概念:
TC (Transaction Coordinator) 事务协调者:维护全局和分支事务的状态,驱动全局事务提交或回滚
TM (Transaction Manager) 事务管理器:定义全局事务的范围:开始全局事务、提交或回滚全局事务
RM (Resource Manager) 资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚
  • seata底层原理
执行sql业务,数据更新前保存before image,更新后保存after image,最后生成行锁
若没有出现异常,则将保存的快照和行锁删除
若需要回滚,则检验脏写,还原数据,删除快照和行锁
posted @ 2022-07-25 17:24  DogLeftover  阅读(222)  评论(0编辑  收藏  举报