Sunday, January 24, 2016

CAP theorem


CAP定律(Consistency,Availability,Partition Tolerance theorem),说的是在一个分布式计算机系统中,一致性,可用性和分区容错性这三种保证无法同时得到满足,最多满足两个。该定律作为猜想在2000年提出,2002年被证实。其中,一致性说的是分布式系统中,所有节点在同一时刻看到同一个值。 可用性说的是每个请求都会收到一个应答,无论该应答是成功还是失败。分区容错性指的是无论任何消息丢失,系统都可用。
Partition Tolerance的意思是,在网络中断,消息丢失的情况下,系统照样能够工作。
    根据一些专家的分析,CAP并不是一个严谨的定律,并不是牺牲了Consistency,就一定能同时获得Availability和Partition Tolerance。还有一个很重要的因素是Latency,在CAP中并没有体现。在现在NoSQL以及其他一些大规模设计时,A和P并不是牺牲C或部分牺牲C的借口,因为即使牺牲了C,也不一定A和P,并且C不一定必须要牺牲。

from
http://blog.csdn.net/leigeng1987322/article/details/20439563