BASE是基本可用(Basically Available), 软状态(Soft State), 最终一致性(Eventually Consistent).
BASE理论是对CAP中一致性和可用性权衡的结果, 他的核心思想是, 即使无法做到强一致性, 但每个应用都可以根据自身业务特点, 采用适当的方法来使系统达到最终一致性.
指分布式系统在出现故障的时候, 保证核心可用, 允许损失部分可用性.
例如, 电商在做促销时, 为了保证购物系统的稳定性, 部分消费者可能会被引入到一个降级的页面.
指允许系统中的数据存在中间状态, 并认为该状态不会影响系统整体可用性, 即允许系统不同点的数据副本之间进行同步的过程存在延迟.
最终一致性强调的是系统中所有的数据副本, 在经过一段时间的同步后, 最终能达到一致的状态.
ACID要求强一致性, 通常运用在传统的数据库系统上. 而BASE要求最终一致性, 通过牺牲强一致性来达到可用性, 通常运用在大型分布式系统.
在实际的分布式场景中, 不同业务单元和组件对一致性的要求是不同的, 因此ACID和BASE往往会结合在一起使用.