分布式的CAP理论

分布式的CAP理论 什么叫分布式 1.分布式系统一定是由多个节点组成的系统
其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。
2.这些连通的节点上部署了我们的节点,并且相互的操作会有协同
比如:在淘宝的服务器,他其实是有很多服务器组成的,每个服务器都相互协同,比如一些机器负责增删改操作,一些机器负责读操作。他们相对于用户来说是一个整体,但这个整体是有很多太机器组成的。
什么叫CAP C:Consistency (一致性):
“all nodes see the same data at the same time”,即更新操作成功并返回客户端后,所有节点(每台机器)在同一时间的数据完全一致,这就是分布式的一致性。
【分布式的CAP理论】一致性的问题在并发系统中不可避免,对于客户端来说,一致性指的是并发访问时更新过的数据如何获取的问题。从服务端来看,则是更新如何复制分布到整个系统,以保证数据最终一致。
A:Availability (可用性):
可用性指“Reads and writes always succeed”,即服务一直可用,而且是正常响应时间。
好的可用性主要是指系统能够很好的为用户服务,不出现用户操作失败或者访问超时等用户体验不好的情况。
P:Partition Tolerance (分区容错性):
即分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务。
分区容错性要求能够使应用虽然是一个分布式系统,而看上去却好像是在一个可以运转正常的整体。比如现在的分布式系统中有某一个或者几个机器宕掉了,其他剩下的机器还能够正常运转满足系统需求,对于用户而言并没有什么体验上的影响
注: 任何一个分布式系统都无法同时满足一致性、可用性和分区容错性,最多只能同时满足两项。
基于 CAP理论,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证最终一致性。

    推荐阅读