1、CAP理论
2000年Eric Brewer教授提出了著名的
CAP理论
,即:一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。2002年MIT的Seth Gilbert 和 Nancy lynch两人证明了
CAP理论的正确性
。根据CAP理论,一致性(C),可用性(A),分区容错性(P),三者不可兼得,必须有所取舍。因此系统架构师不要把精力浪费在如何设计才能同时满足CAP三者的完美分布式系统,而是应该研究如何进行取舍,满足实际的业务需求。
![](https://i-blog.csdnimg.cn/blog_migrate/fa1765d9f16027f0f4f7c410615c91d5.gif)
C: Consistency(一致性),
任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的;
A: Availability(可用性),
每一个操作总是能够在确定的时间内返回,也就是系统随时都是可用的;
P: Tolerance of network Partition(分区容忍性),
在出现网络分区(比如断网)的情况下,分离的系统也能正常运行;
对于分布式存储系统而言,分区容错性(P)是基本需求,因此只有CP和A