CAP定理
分布式系统有三个指标:
● Consistency(一致性)
● Availability(可用性)
● Partition tolerance (分区容错性)
它们的第一个字母分别是 C、A、P。Eric Brewer认为任何分布式系统架构方案都不可能同时满足这3个目标,这个结论就叫做 CAP 定理。
BASE理论
既然分布式系统要遵循CAP定理,那么问题来了,我到底是该牺牲一致性还是可用性呢?如果牺牲了一致性,出现数据不一致该怎么处理?
人们在总结系统设计经验时,最终得到了一些心得:
● Basically Available (基本可用):分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。
● Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态。
● Eventually Consistent(最终一致性):虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。
以上就是BASE理论。