增加一个角色协调者
阶段一:协调者向参与者提交事物请求,并询问执行结果
阶段二:执行事务提交
二阶段提交协议,不是一个高效的协议,会带来性能上的损失
paxos
eBay 事件队列方案 最终一致性
缓存数据 最终一致性
一致性(Consistency)
可用性(Availability)
分区容忍性(Partition Tolerance)
基本可用(Basically Available):指分布式系统在出现故障时,允许损失部分的可用性来保证核心可用。
软状态(SoftState):指允许分布式系统存在中间状态,该中间状态不会影响到系统的整体可用性。
最终一致性(EventualConsistency):指分布式系统中的所有副本数据经过一定时间后,最终能够达到一致的状态。
ACID 实现技术 原子性(Atomicity) MVCC 一致性(Consistency) 约束(主键、外键等) 隔离性 MVCC 持久性 WAL
分布式ACID 实现技术 原子性(Atomicity) MVCC + 两阶段提交 一致性(Consistency) 约束(主键、外键等) 隔离性 MVCC 持久性 WAL
一个好的分布式事务框架应用尽可能满足以下特性: 1. 业务改造成本低 2. 性能损耗低 3. 隔离性保证完整 但如同CAP,这三个特性是相互制衡的,往往只能满足其中两个,我们可以画一个三角约束
基于业务补偿的Saga满足1.2;TCC满足2.3;Seata满足1.3。