saata支持四种模式。
model | AT | XA | TCC |
Saga |
侵入性 | 低 | 低 | 高 | 高 |
适用场景 | 某个步骤,需要人为干预 | 长事务 | ||
特性 | 基于XA演化,性能比XA好,锁的资源少 |
CAP理论及选择
C(一致性)、A(可用性)、P(分区容错性)无法同时满足,通常选择AP 或 CP。
Eureka 就是AP模式。
zookeeper 是CP模式。
BASE 是 Basically Available(基本可用)、Soft state(软状态)和 Eventually consistent (最终一致性)三个短语的缩写,是对 CAP 中 AP 的一个扩展。
基本可用:分布式系统在出现故障时,允许损失部分可用功能,保证核心功能可用。
软状态:允许系统中存在中间状态,这个状态不影响系统可用性,这里指的是 CAP 中的不一致。
最终一致:最终一致是指经过一段时间后,所有节点数据都将会达到一致。
BASE 解决了 CAP 中理论没有网络延迟,在 BASE 中用软状态和最终一致,保证了延迟后的一致性。
BASE 和 ACID 是相反的,它完全不同于 ACID 的强一致性模型,而是通过牺牲强一致性来获得可用性,并允许数据在一段时间内是不一致的,但最终达到一致状态。
https://www.jianshu.com/p/ac101d023d6b