分布式与消息队列 · 单选题 · 第 62 题
Java 后端开发面试 · 第 62 题
TCC 分布式事务模式中的三个阶段分别是?
- ATry 预留资源,Confirm 确认提交,Cancel 释放预留
- BTry 直接扣减资源,Commit 写日志,Close 释放连接
- CTest 检查参数,Commit 提交事务,Cancel 回滚事务
- DPrepare 投票,Commit 提交,Rollback 回滚
答案
A A. Try 预留资源,Confirm 确认提交,Cancel 释放预留
解析
TCC 在业务层实现两阶段提交:Try 只冻结资源,比如冻结账户余额;全部成功后调用 Confirm 真正扣减,任何一方失败就调用 Cancel 解冻。三个接口都要支持幂等,还要处理空回滚和悬挂问题。Prepare、Commit、Rollback 是数据库层面 2PC/XA 的术语。