知识卡片

存储高可用的难点是应对数据不一致而非备份本身

普通读书笔记卡 · 1655.a

内容

数据从一台机器同步到另一台必经网络传输,同机房几毫秒、跨机房几十上百毫秒,线路还可能中断数小时——冗余存储任意时刻都可能存在数据不一致。存储高可用真正的难点不是”如何备份”,而是”如何减少或规避不一致对业务的影响”,比如避免用户存款后查询金额没变这种体验灾难。这正是 CAP 定理的根本约束——一致性、可用性、分区容错性最多同时满足两个,架构设计本质是做业务取舍,而非寻找同时满足三者的完美方案。

参考来源

- 位置:《从0开始学架构》第7章《05|复杂度来源:高可用》(源文件:_epub-src/OEBPS/Text/part0006_split_001.html) - 结论依据:原文以银行储蓄跨机房查询余额未同步为例,说明传输延迟和线路中断("2015年支付宝因为光缆被挖断,业务影响超过4个小时")都会造成数据不一致,并总结"存储高可用的难点不在于如何备份数据,而在于如何减少或者规避数据不一致对业务造成的影响",随后引出CAP定理"最多满足其中两个"。 - 原始内容:存储高可用的难点不在于如何备份数据,而在于如何减少或者规避数据不一致对业务造成的影响。分布式领域里面有一个著名的CAP定理……存储高可用不可能同时满足"一致性、可用性、分区容错性",最多满足其中两个,这就要求我们在做架构设计时结合业务进行取舍。