Seata AT事务底层原理分析

Seata AT事务底层原理分析

1 Seata 主线流程图 Seata AT事务底层原理分析_第1张图片
1.1 Seata AT事务详解
AT模式下,把每个数据库被当做是一个Resource,Seata里称为DataSource Resource。
业务通过JDBC标准接口访问数据库资源时,Seata框架会对所有请求进行拦截,做一些操作。每个本地事务提交时,Seata RM(Resource Manager,资源管理器) 都会向 TC(Transaction
Coordinator,事务协调器) 注册一个分支事务。
当请求链路调用完成后,发起方通知TC提交或回滚分布式事务,进入二阶段调用流程。
此时,TC会根据之前注册的分支事务回调到对应参与者去执行对应资源的第二阶段。
TC是怎么找到分支事务与资源的对应关系呢?
每个资源都有一个全局唯一的资源ID,并且在初始化时用该ID向TC注册资源。在运行时,每个分支事务的注册都会带上其资源ID。这样TC 就能在二阶段调用时正确找到对应的资源。
1.2 Seata重要组件
事务协调器(TC): 维护全局事务和分支事务的状态,驱动全局

你可能感兴趣的:(微服务)