分布式事务
分布式事务的实现主要有以下 6 种方案:
XA 方案
TCC 方案
SAGA 方案
本地消息表
可靠消息最终一致性方案
最大努力通知方案
两阶段提交方案/XA 方案
所谓的 XA 方案,即:两阶段提交,有一个事务管理器的概念,负责协调多个数据库(资源管
理器)的事务,事务管理器先问问各个数据库你准备好了吗?如果每个数据库都回复 ok,那么
就正式提交事务,在各个数据库上执行操作;如果任何其中一个数据库回答不 ok,那么就回滚
事务。
这种分布式事务方案,比较适合单块应用里,跨多个库的分布式事务,而且因为严重依赖于数
据库层面来搞定复杂的事务,效率很低,绝对不适合高并发的场景。如果要玩儿,那么基于
Spring + JTA 就可以搞定