面试准备 - 分布式系统 CAP 理论
Posted Java后端
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试准备 - 分布式系统 CAP 理论相关的知识,希望对你有一定的参考价值。
链接 | github.com/pkwenda/Blog/issues/28
CAP 理论是一个被说烂了也听烂了的话题,但是还是选择花点时间做整理,做些横向拓展,加点自己的感受,认认真真讨论一下。
之前看阮一峰老师写的文章不错,我之前觉得总有点难懂,现在我觉得是有点问题
我觉得阮老师说的 Availability 理解不对,分布式和具体「哪台」没什么关系。Partition tolerance 的解释也没让我豁然开朗。
CAP 简介
1998 年,有个哥们提出了分布式系统的三个指标:
CAP (Consistency、Availablity 、Partition-tolerance ) 其中:
Consistency
-
一致性
-
要么接受同一个数据在各个存放点上同步过程中的「暂时」不一致。 -
要么你要「强一致性」,那么同步操作就会影响你的「可用性」。
Availability
-
可用性
这条非常好理解,就是字面意思
Partition tolerance
-
分区容忍性
我对「分区容忍性」的疑问
CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。
试想:机器间不能通信,网络分区,如何保证数据的一致性?如何同步数据?
以上是关于面试准备 - 分布式系统 CAP 理论的主要内容,如果未能解决你的问题,请参考以下文章