BASE 理论¶
一、是什么¶
CAP 的延伸,分布式系统的实践。
二、三个词¶
- Basically Available:基本可用。
- Soft State:软状态(允许中间状态)。
- Eventually Consistent:最终一致。
三、核心思想¶
不能强一致,就牺牲一点,保证可用,最终一致。
四、例子¶
秒杀¶
- 库存先扣 Redis,DB 异步同步。
- 短暂不一致可接受。
订单¶
- 下单成功,库存扣减异步。
- 最终一致。
五、和 ACID 对比¶
| ACID | BASE | |
|---|---|---|
| 一致性 | 强一致 | 最终一致 |
| 可用性 | 一般 | 高 |
| 场景 | 金融 | 互联网 |
六、实现¶
- 消息队列异步。
- 补偿机制。
- TCC、本地消息表。
一句话
BASE = 牺牲强一致,换高可用,最终一致。