分布式事务

cap理论

base理论
服务基本可用(核心服务一定可用,部分服务可以不可用)
软状态 数据存在中间状态
最终一致性

三阶段提交:https://www.cnblogs.com/balfish/p/8658691.html

两阶段提交

预执行
提交或回滚

问题:

  1. 单点
  2. 同步阻塞
  3. 数据不一致
  4. 服务间互相操作别的服务数据库

最大努力通知

失败后不断通知
提供业务查询接口

可靠消息最终一致性

  1. 业务发起方执行本地事务,保证本地事务与消息的原子性(本地消息表),启动定时任务发送消息给参与方,无响应时重复发送
  2. 参与方接受到消息后保证数据一致性并通过MQ的消息ACK机制返回数据处理结果。

TCC

尝试:检查和预留资源; 可能有网络延迟,避免资源挂起

确认/取消:执行真正业务,或者回滚业务; (失败重试) 幂等,空取消

操作的是接口,不存在同步阻塞问题

每个分支事务提供三个接口,业务变得复杂

你可能感兴趣的:(分布式事务)