文章目录
Seata概述
Seata是一款开源的分布式事务解决方案,致力于提高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。
事务ACID原则
- 原子性:事务中的所有操作,要么全部成功,要么全部失败
- 一致性:要保证数据库内部完整性约束、声明性约束
- 隔离性:对同一资源操作的事务不能同时发生
- 持久性:对数据库做的一切修改将永久保存,不管是否出现故障
事务
本地事务
同一数据库和服务器,称为本地事务。
在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要矗关系数据库来控制事务,而数据库通常和应用在同一个服务器,所以基于关系数据库的事务又被称为本地事务。
分布式事务
分布式事务指事务的参与者。支持事务的服务器.资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上,且属于不同的应用,分布式事务需要保证这业操作要么全部成功,要么全部失败,本质上来说,分布式事务就是为了保证不同数据库的数据一致性。
seata三大构成
- TC(Transaction Coordinator) - 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。
- TM(Transaction Managet) - 事务管理者:定义全局事务的范围,开始全局事务,提交或回滚全局事务。
- RM(Resource Manager) - 资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。
seata中分布式生命周期
Seata模式
AT模式
AT模式是一种无侵入的分布式事务解决方案。
在AT模式下ÿ