Java面试题更新 2026-08-05

请阐述 Seata 分布式事务框架的工作原理,包括其核心组件和事务模式。

技术原理方案权衡Spring Cloud

考察说明

考察候选人对 Seata 分布式事务框架的理解程度,包括其核心组件、事务模式和工作流程。

回答思路

  1. 【回答框架 1】Seata 是阿里巴巴开源的分布式事务解决方案,支持 AT、TCC、SAGA 和 XA 四种模式。其核心组件包括事务协调器 TC、事务管理器 TM 和资源管理器 RM。
  2. 【回答框架 2】在 AT 模式下,Seata 通过两阶段提交协议实现分布式事务。一阶段,TM 向 TC 注册全局事务,RM 执行业务 SQL 并记录 undo log;二阶段,TC 根据各 RM 的投票结果决定全局提交或回滚,若提交则删除 undo log,若回滚则利用 undo log 反向补偿。
  3. 【回答框架 3】TCC 模式要求业务方实现 Try、Confirm、Cancel 三个接口,通过资源预留和最终确认/取消实现事务,适用于需要业务层面控制的场景。SAGA 模式通过状态机编排长事务,适用于跨服务和异构系统,但无隔离性。
  4. 【回答框架 4】XA 模式直接基于数据库的 XA 协议,通过 TC 协调全局事务,强一致但性能开销较大。
  5. 【关键点 1】Seata 核心组件:TC、TM、RM 的职责与协作关系。
  6. 【关键点 2】AT 模式原理:两阶段提交、undo log 补偿机制。
  7. 【关键点 3】TCC 模式:Try、Confirm、Cancel 接口的定义与实现要求。
  8. 【易错点 1】误区:将 Seata 等同于强一致方案,实际不同模式满足不同一致性级别。
  9. 【易错点 2】风险:AT 模式对 SQL 有侵入性,需要全局锁,可能影响性能。