面试题:Seata支持哪些模式的分布式事务?
在面试中回答“Seata支持哪些模式的分布式事务?”时,应该清晰地列出Seata支持的事务模式,并结合自己的理解或经验简要说明每种模式的特点和适用场景。以下是一个结构化的回答示例:
Seata 支持四种主要的分布式事务模式:
-
AT 模式(Automatic Transaction,自动补偿型)
- 特点:基于两阶段提交(2PC),Seata 自动生成反向 SQL 进行回滚,对业务代码侵入性低。
- 适用场景:适合大多数业务场景,尤其是需要快速实现分布式事务的场景。
- 我的理解/经验:在项目中,我们使用 AT 模式处理订单和库存服务的事务,通过 Seata 自动管理事务的提交和回滚,减少了手动编写补偿逻辑的工作量。
-
TCC 模式(Try-Confirm-Cancel,尝试/确认/取消)
- 特点:通过业务逻辑的“尝试、确认、取消”三个阶段实现事务控制,需要开发者手动编写补偿逻辑。
- 适用场景:适合对一致性要求较高的场景,比如金融、支付等业务。
- 我的理解/经验:虽然没有直接使用过 TCC 模式,