什么是 BASE 理论

BASE 理论是 CAP 理论中的 AP 的延伸,是对互联网大规模分布式系统的实践总结,强调可用性。BASE 是 基本可用(Basically Available) 、软状态(Soft-state) 和 最终一致(Eventually Consistent) 三个短语的缩写。

  1. 基本可用(Basic Availability):在分布式系统出现故障时,允许系统部分功能降级使用,保证系统的核心功能可用。如,电商网站交易付款出现问题了,商品依然可以正常浏览。

    • 流量削峰
    • 请求排队
    • 服务降级
    • 服务熔断
  2. 软状态(Soft State):系统可以存在中间状态,允许数据在一段时间内不一致,这种状态不会影响系统的整体可用性。如,订单的“支付中”、“数据同步中”等状态,待数据最终一致后状态改为“成功”状态。

  3. 最终一致性(Eventual Consistency):经过一段时间后,所有节点的数据副本最终会达到一致的状态。如订单的“支付中”状态,最终会变 为“支付成功”或者”支付失败”,使订单状态与实际交易结果达成一致,但需要一定时间的延迟、等待。这个时间可以是几分钟到几小时,依据系统设计和实现的具体情况而定。

BASE 理论是对 CAP 中一致性和可用性权衡的结果,它来源于对大型互联网分布式系统实践的总结,是基于 CAP 定理逐步演化而来的。

它的核心思想是:如果不是必须的话,不推荐实现事务或强一致性,鼓励可用性和性能优先,根据业务的特点,来实现非常弹性的基本可用,以及数据的最终一致性