美文网首页
在分布式系统中的CAP定律

在分布式系统中的CAP定律

作者: 贾歌 | 来源:发表于2018-05-11 17:31 被阅读69次

CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。

CAP原则是NOSQL数据库的基石。Consistency(一致性)。 Availability(可用性)。Partition tolerance(分区容错性)。

分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳:
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
分区容忍性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

在分布式系统中的CAP定律,如果舍去P,只保留CA,那么这就是一个单机系统了,分布式就无从谈起。所以在分布式系统中,关于CAP三选二的说法是误解,一般来说 P 是前提(分布式系统中不可能没有网络分区的情况)。所以基本是CA里选,不是任意3选2.为什么呢?P 意指分区容忍性。 这个分区容忍性什么意思,很多人容易望文生义,不要见风就是雨,理解成别的什么意思。所谓分区指的是网络分区的意思,这个一样还是容易望文生义。详细一点解释,比如你有A B两台服务器,它们之间是有通信的,突然,不知道为什么,它们之间的网络链接断掉了。好了,那么现在本来AB在同一个网络现在发生了网络分区,变成了A所在的A网络和B所在的B网络。所谓的分区容忍性,就是说一个数据服务的多台服务器在发生了上述情况的时候,依然能继续提供服务。所以显而易见的,P是大前提,如果P发生了,咱们的数据服务直接不服务了,就无需谈可用性和一致性了。因此CAP要解释成,当P发生的时候,A和C只能而选一。

举个简单的例子,A服务器B服务器同步数据,现在A B之间网络断掉了,那么现在发来A一个写入请求,但是B却没有相关的请求,显然,如果A不写,保持一致性,那么我们就失去了A的服务,但是如果A写了,跟B的数据就不一致了,我们自然就丧失了一致性。这里设计就涉及到架构师的选择了。注意这里的一致性是强一致性,意思是AB的数据时刻都是同步的,如果我们放弃了强一致性,不代表我们的数据就是一定是不一致的了,我们可以让A先写入本地,等到通信恢复了再同步给B,这就是所谓的最终一致性,长远的看我们的数据还是一致的,我们只是在某一个时间窗口里数据不一致罢了。综上,CAP应该描述成,当发生网络分区的时候,如果我们要继续服务,那么强一致性和可用性只能2选1。

相关文章

  • 分布式理论

    分布式系统的CAP定律 在分布式系统里面有一个CAP定律,这个定理的内容是指的是在一个分布式系统中, Consis...

  • 通过NAS对分布式系统CAP理论的理解

    通过NAS对分布式系统CAP理论的理解 CAP原则又称CAP定理,指的是在一个分布式系统中:Consistency...

  • Nacos对比Zookeeper、Eureka之间的区别

    CAP定律 这个定理的内容是指的是在一个分布式系统中、Consistency(一致性)、 Availability...

  • 在分布式系统中的CAP定律

    CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability...

  • 架构篇章

    并发与并行的定义与区别 分布式CAP定理 定义:CAP定理又称CAP原则,指的是在一个分布式系统中,Consist...

  • 面试篇:分布式事务

    1. 分布式理论 1.1 CAP定理 CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 ...

  • 分布式事务之最终一致的Mq实现

    问题的起源 分布式系统的特性 对分布式系统有过研究的读者,可能听说过“CAP定律”、“Base理论”等,非常巧的是...

  • 分布式事务原理与解决方案实战

    分布式事务: 1 CAP 定理 1.1 概念 CAP 理论在分布式系统中 一致性:分布式环境下多个节点的数据是否强...

  • CAP原则(CAP定理)、BASE理论

    CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availa...

  • CAP理论介绍

    CAP原则 CAP原则又称CAP定理,指的是在分布式系统的设计中,没有一种设计可以同时满足 Consistency...

网友评论

      本文标题:在分布式系统中的CAP定律

      本文链接:https://www.haomeiwen.com/subject/kzxqdftx.html