分布式系统无法满足CAP,BASE理论是一个降级方案。
BASE理论是基本可用、软状态、最终一致性的缩写
基本可用BasicallyAvailable
系统某些节点出现了不可预知的故障,系统整体上还是可用的。
只是相对于正常系统而言,响应时间上有所损失,或者某些功能不可用
软状态SoftState
不要求系统的强一致性,允许系统中的数据存在中间状态
并认为该中间状态,不会对系统整体造成负面影响
最终一致性EventuallyConsistent
系统处于软状态,经过有限的时间期限后,数据最终能达到一致
最终一致性由以下几部分组成,不一定都能满足
- 因果一致性
- A节点更新完数据后,同步给B节点
- 那么后续对节点B中数据的访问和修改,都给予A更新后的值
- 读己之所写
- 更新节点A后,通过节点A一定能读到在节点A上更新的最新值
- 会话一致性
- 在同一个会话中,客户端一定能读到自己更新的最新值
- 单调写一致性
- 对同一一个节点的写操作,按顺序执行
- 单调读一致性
- 客户端从系统中读到某个数据后,在后续访问中,系统不应返回更旧的值