CAP定理

CAP猜想是2000年在ACM PODC上面提出的,这个理论告诉我们一个分布式系统不可能同时满足一致性(C:Consistency)可用性(A:Availability)和分区容错性(P:Partition tolerance)三个基本要求。

801753-20151107213219867-1667011131.png

一致性:

一致性指的是多个副本之间的数据能否保持一致的特性。在一致性的要求下,当一个系统在数据一致的状态下更新操作后,所有的系统数据必须仍保持一致。(tips:最终一致性不等于一致性)
举个例子:小沙在上海发了一条朋友圈,这条数据会写入上海的集群,如果要保持最终一致性,那么这条数据要同时写入加拿大集群,则远在美国的小叉立马就能看见。

可用性:

可用性指是系统的每一个服务都能够在有限的时间没返回。(部分机器故障不影响服务的是分区容错性。)所以我们可以把可用性理解为速度。
举个例子:小沙在上海发了一条朋友圈,我们希望点击发送后1秒钟内能告诉用户已经成功,这就是可用性。

分区容错性:

分区容错性指的是分布式系统的任何网络分区故障的时候,仍然能够对外保证一致性与可用性。
举个例子:有一天施工,蓝翔队长把上海的光纤挖断了,上海的集群全部挂了,小沙仍然能够通过连接深圳的机器发朋友圈。

这里向大家推荐一篇paper,《CAP Twelve Years Later: How the "Rules" Have Changed》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容