BASE 理论

1.1 定义

BASE 理论由 eBay 架构师 Dan Pritchett 提出,是 AP 系统的设计哲学,与 ACID 相对:

  • Basically Available(基本可用):系统出现故障时允许损失部分可用性——响应时间可能变长,或部分非核心功能降级——但保证核心功能仍然可用。
  • Soft State(软状态):系统中的数据允许存在中间状态,且该中间状态不会影响系统的整体可用性。数据在不同副本之间可以有一段时间的不一致。
  • Eventually Consistent(最终一致性):系统中的数据副本在经过一段时间的同步后,最终能够达到一致的状态。

1.2 BASE 与 ACID 对比

维度 ACID BASE
核心思想 强一致性优先 可用性优先
一致性模型 强一致性 最终一致性
典型场景 金融交易、订单扣款 社交动态、商品评论、库存缓存
系统复杂度 事务管理复杂 需设计冲突检测和补偿逻辑
可扩展性 难以横向扩展 易于横向扩展
响应延迟 较高(锁等待、同步) 较低

工程实践中的融合:现代大型系统几乎不会在全局层面严格遵守 ACID。通常的做法是:在需要强一致性的核心链路使用 ACID 事务(如订单创建),在非核心链路使用 BASE 模式(如库存缓存同步、社交动态推送)。这种融合被称为”柔性事务”或”最终一致性事务”,我们会在分布式事务章节深入讨论。