BASE 理论
eBay 的架构师 Dan Pritchett 源于对大规模分布式系统的实践总结,在 ACM 上发表文章提出 BASE 理论。
BASE 理论是由 CAP 中一致性和可用性无法兼得而衍生出来的一种思想。BASE 理论的核心思想是通过牺牲数据的强一致性来获得高可用性。它有以下三个特性:
- 基本可用(Basically Available):分布式系统在出现故障时,允许损失一部分功能的可用性,保证核心功能的可用。比如:网页访问量过大,对部分用户进行服务限流。
- 软状态(Soft State):允许系统中的数据存在中间状态,并且该状态不会影响系统的整体可用性。也就是允许系统中不同节点的数据副本之间的同步存在延时。比如:在电商系统中,订单中的 ”支付中“ 、 ”退款中“ 等状态就是中间状态,当达到一段时间后,就会变成 ”支付成功“ 或者 ”退款成功“ 的状态。
- 最终一致性(Eventually Consistent):系统中所有中间状态的数据副本会在一段时间后,达到一个最终的数据一致性。比如:在电商系统中,订单中的 ”支付中“ 、 ”退款中“ 等状态,最终会变成 ”支付成功“ 或者 ”退款成功“ 的状态,经过一段时间后,能够使订单中的状态和最终的交易结果一致。
CAP 与 BASE 关系

评论区