什么是CAP
cap理论是在2000年7月份由Eric Brewer教授在ACM会议上提出的。两年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。从此,CAP理论成为了分布式计算领域的非常重要的理论。
cap分别代表的含义是:一致性(Consistency),可用性(Availability),分区容错性(Partition tolerance)。
CAP理论概述
cap理论是这样的:一个分布式系统最多只能同时满足一致性,可用性和分区容错性这三项中的两项,然而,分区容错性一般是不可缺少的,所以最终一般是在一致性和可用性之间进行权衡。
一致性(C)
一致性,就是说的是数据一致性,官方是这样解释的:all nodes see the same data at the same time。在分布式系统中所有的节点在同一时刻是否是同样的值,所以此处说的就是数据一致性。
可用性(A)
可用性是针对服务而言,官方解释:reads and writes always succeed。即使分布式系统出现部分节点故障也能提供正常的读写服务。
对于一个可用性的分布式系统,可用性要求是非常高。我们一般在衡量一个系统的可用性的时候,一般都会说是6个9,5个9等等,一般没有人敢说100%,也就是说是通过停机时间来计算的。
业界经常说淘宝的系统可用性可以达到5个9,也就是说99.999%,也由此能算出全年的停机时间不超过(1-0.99999)*365*24*60 = 5.256,这个值是说的分钟数&#