1.架构图
TM(Transaction Manager)发送提交/回滚命令
这个模块是全局事务管理器,负责开启全局事务、提交全局事务、回滚全局事务、查询全局事务的状态、上报本地事务状态等。(TransactionManager.java)
RM(Resource Manager)执行提交/回滚操作
这个是资源管理器,负责分支事务注册、分支事务提交、分支事务回滚、锁查询等操作。(DefaultResourceManager.java)
TC (Transaction Coordinator) 用于接收提交/回滚
事务的协调者。也可以看做是 Seata-server,用于接收我们的事务的注册,提交和回滚
实际上RM才是真正处理事务操作的地方
2.AT模式
检查方法是否携带@GroblaTransaction注解,存在开启全局事务
2.1执行本地事务
1.开启全局事务,并获取Xid全局事务id
2.执行本地事务的代码(business.excute),执行过程中被seata的代码监管
3. commitGlobalTransaction/roll