Base
Base 理论是Basically Available(基本可用),Soft State(软状态)和Eventually Consistent(最终一致性)
既是无法做到强一致性(Strong consistency),但每个应用都可以根据自身的业务特点,采用适当但方式使系统达到最终的一致性
基本可用
- 响应时间上的损失:正常情况下的搜索引擎0.5 秒即返回给用户结果,而基本可以用的搜索引擎可以在2秒作用返回结果
- 功能上的损失: 功能降级返回结果
软状态
- 允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性,即允许系统在不同节点的数据副本存在数据延迟
最终一致性
- 软状态必须有时间期限,超过期限后,应当保证所有副本保持数据一致性,从而达到数据的最终一致性。
因果一致性
- 如果节点A更新完之后通知B则B的后续状态由A更新后的状态决定,没有通知的C没有这种限制
读已之所以写
- 节点可以读到同步更新其他节点的数据
会话一致性
- 访问系统有效会话, 系统应保证读已之所以写
单调读一直
- 节点只会读到最新读数据,不会读到旧数据
单调写一直
- 写顺序一致