什么是Seata
Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
Seata官方文档
Seata将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
Seata三大构成部分
事务协调器TC
事务管理器TM
资源管理器RM
Seata的AT模式
1.事务的发起方TM会向事务协调器TC申请一个全局事务id并保存;
2.Seata会管理这个事务所有参与方的数据,把数据操作前后的镜像保存在undo_log表中,这个表是Seata组件规定的,靠它实现commit和roll back;
3.事务的发起方TM会连同全局id一起通过远程调用(RPC),运行资源管理器RM中的相关方法;
4.资源管理器RM收到全局id,运行方法并将运行结果状态发给事务协调器TC;
5.如果事务协调器TC收到所有分支返回的结果都正常,TC会通知分支进行commit,这时才真正影响数据库内容。反之则进行roll back,恢复之前的内容。