guodongxiaren / Blog

【编程往事】 — 果冻虾仁 的网络博客
https://github.com/guodongxiaren/Blog/issues
42 stars 12 forks source link

关于分布式中CAP的反思 #38

Open guodongxiaren opened 4 years ago

guodongxiaren commented 4 years ago

很久之前就听说过CAP,知道其表达到是三者无法同时满足。

C 一致性
A 可用性
P 分区容错性

后来读了DDIA,发现自己之前的很多理解还是浮于表面,没有深入骨髓。思考如下:

CAP作为经验提出,并无准确的定义。 CAP只是历史上有重大影响力的一个说法而已,对于具体系统设计的价值有待商榷。 CAP范围很窄:

三者不能同时满足。这个说法有误导,其实准确的说法是:一旦发生网络故障(分区),必须要在C和A之间选择一个!因为网络分区P不是特性,是故障,无所谓喜欢与不喜欢。而C和A则可以权衡!