BASE

Basically Available(基本可用),Soft State(软状态)和Eventually Consistent(最终一致性)。

核心思想是即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。

概念

基本可用

出现故障之后,系统降低性能依然可用

  • 响应时间上的损失
  • 功能上的损失

软状态

允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性。即允许系统在多个不同节点的数据副本存在数据延时。但必须有时间期限。

最终一致性

  • 因果一致性
  • 读己之所写(Read your writes)
  • 会话一致性
  • 单调读一致性
  • 单调写一致性

例如:数据库的复制过程是需要时间的,这个复制过程中,业务读取到的值就是旧的。但是最终还是达成了数据一致性。