-
XA协议
使用atomikos保证单体架构下数据库多实例保证分布式事务
缺点:事务是一个长事务
优点:开发简单,保证事务的一致性 -
TCC协议
优点:将一个事务划分成多个事务,降低事务的粒度
缺点:导致代码膨胀 -
SEATA
-
TM 请求 TC,开始一个新的全局事务,TC 会为这个全局事务生成一个 XID。
-
XID 通过微服务的调用链传递到其他微服务。
-
RM 把本地事务作为这个XID的分支事务注册到TC。
-
TM 请求 TC 对这个 XID 进行提交或回滚。
-
TC 指挥这个 XID 下面的所有分支事务进行提交、回滚。