知识卡片

强一致性在理论上不存在

普通读书笔记卡

内容

信息传播需要时间,而世界在传播同时持续变化——把时间粒度切得足够细,任何系统微观上永远处于不一致状态。”强一致性”其实是观察者粒度下的错觉:单机MySQL转账两账号间也有极短不一致窗口,只是被系统边界屏蔽。反之若观察频率远低于同步延迟,最终一致性也会被感知为强一致。发散:一致性不是绝对属性,而是同步延迟与观测频率的相对关系,应让延迟远小于业务可容忍粒度。

参考来源

- 位置:第12章《CAP理论》12.2节「现实世界不存在'强一致性'(PACELC理论)」(源文件:_epub-src/text/part0065.html) - 结论依据:原文明确说明通常所说的强一致性是从观察者角度得来的错觉,单机MySQL转账也存在短暂不一致窗口只是被屏蔽,跨行转账若客户几天才查一次也会感知为强一致,直接支持卡片对一致性是同步延迟与观测频率相对关系的论述。 - 原始内容:"通常说的'强一致性',是从观察者的角度得来的。拿单机版的MySQL转账而言……必定存在一个短暂的时间窗口……客户端看到的是'强一致性',但从内部来看可以认为是'最终一致性'……假设客户很忙,好几天才查询一次账户,他看到的永远都是一致的,就是'强一致性'。"