| 角色 | 事务管理器(TM)与资源管理器(RM) |
|---|---|
| 典型场景 | 同一事务内更新多个数据库或数据库与消息队列 |
| 注意 | XA 分支事务期间连接与锁被长期占用,跨数据中心风险更高 |
XA 事务轮廓(SQL 示意)
XA 事务轮廓(SQL 示意)
XA START 'tx-42';
UPDATE orders SET status = 1 WHERE id = 7; -- 分支一
XA END 'tx-42'; XA PREPARE 'tx-42';
-- 协调完成后:XA COMMIT 'tx-42';
-- 失败路径: XA ROLLBACK 'tx-42';微服务场景常以 Saga 或本地消息表替代 XA;选择前评估一致性要求与故障恢复流程。