什么是BASE理论?
BASE是指基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventual Consistency),由 ebay 的架构师提出。
基本可用(Basically Available)
基本可用说的是在分布式系统遇到不可预知的故障时,允许损失部分可用性,保证核心可用。
基本可用的例子:
-
1. 响应时间上的损失
由于出现故障,查询结果的响应时间由0.5秒之内增加到1~2秒。
-
2. 功能上的损失
比如电商网站在一些节日大促(比如双十一)购物高峰的时候,为了保证系统的稳定性(或者说保证一致性),部分消费者可能会被引导到一些降级页面。
软状态(Soft State)
软状态指的是:允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性,即允许系统在多个不同节点的数据副本之间进行数据同步的过程中存在延迟。
最终一致性(Eventual Consistency)
最终一致性指的是系统中的所有副本数据,在经过一定时间的同步后,最终能达到一个一致的状态;
因此最终一致性的本质是需要保证系统数据最终能达到一致,而不需要实时的保证系统数据的强一致性。
BASE和CAP
想要了解CAP? 戳--> 分布式理论——CAP定理
CAP告诉我们,一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。
BASE理论就是对CAP中一致性和可用性权衡的结果。
BASE理论的核心思想是,即使无法做到强一致性,但每个系统可以根据自身的业务特点,采用适当的方式使系统达到最终一致性。