(1)传统采用XA(eXtended Architecture 扩展架构)模式
传统采用XA(eXtended Architecture 扩展架构)模式,虽然具备很强的一致性,但是性能差。
XA (eXtended Architecture 扩展架构) 是 X/Open组织 提出的 跨异构技术实现两阶段提交 的接口标准。
过程
RM一阶段的工作:
注册分支事务到TC
执行分支业务sql但不提交
报告执行状态到TC
TC二阶段的工作:
TC检测各分支事务执行状态
如果都成功,通知所有RM提交事务
如果有失败,通知所有RM回滚事务
RM二阶段的工作:
接收TC指令,提交或回滚事务
优缺点
**xa模式的优点:**
事务的强一致性,满足ACID原则。
常用数据库都支持,实现简单,并且没有代码侵入
**xa模式的缺点:**
因为一阶段需要锁定数据库资源,等待二阶段结束才释放,性能较差
依赖关系型数据库实现事务
示例
(2)开源项目 SEATA的AT(Auto Commit)模式
开源项目 SEATA的AT&