
【718】BASE理论:用妥协换取实用你是个创业者,要做一个电商平台。CTO跟你说:“我们的系统要保证强一致性,用户下单、支付、库存扣减必须同时成功,库存绝对不能超卖!”你点头说:“有道理。”然后系统上线,第一天搞了个9块9秒杀活动,10万人同时抢购,服务器直接挂了。因为强一致性需要分布式事务,需要多轮协调,需要所有节点确认——这玩意在高峰期根本扛不住。CTO的理想很丰满,现实很骨感。BASE理论就是来解决这个问题的:不是不要一致性,而是接受"最终一致"。一、BASE的核心思想BASE三个字母代表:Basically Available(基本可用):系统在大部分时间是可用的,允许偶尔降级。就像你家宽带,高峰期可能会卡,但不会完全断网。Soft state(软状态):数据可以处于不确定的状态,不需要实时同步。就像你给朋友发微信,对方可能暂时显示"发送中",不是立即显示"已送达"。Eventually consistent(最终一致):数据经过一段时间后,最终会达到一致状态。就像你发的微信,对方迟早会看到。二、BASE vs CAP:软妹子与硬汉子CAP定理是"硬汉子"——要不就全部成功