CAP定理
一个分布式系统不可能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个基本需求,最多只能满足其中的两项.
一般情况下,分区容错性是一个最基本的要求,其次才在可用性和一致性之间作出取舍。
一致性模型:
- 弱一致性
- 最终一致性:DNS、Gossip协议
- 强一致性
- 同步
- Paxos
- Raft
- ZAB
BASE理论
BASE是Basically Available(基本可用)、Soft state(软状态)、Eventually Consistent(最终一致性)三个短语的简称,是对CAP中一致性和可用性权衡的结果,核心思想是即使无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。
基本可用:分布式系统在出现不可预知故障时,允许损失部分可用性。
弱状态:即软状态,允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性。
最终一致性:系统保证数据最终能够达到一致,而不需要实时保证系统数据的强一致性。
参考资料
- 从 Paxos 到 ZooKeeper 分布式一致性原理与实践.倪超.电子工业出版社