欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CAP理论

程序员文章站 2022-03-22 22:37:16
...



  • 概述


2000年Eric Brewer教授提出了著名的CAP理论,即:一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。2002年MIT的Seth Gilbert 和 Nancy lynch两人证明了CAP理论的正确性(原文见这里,译稿见这里)。根据CAP理论,一致性(C),可用性(A),分区容错性(P),三者不可兼得,必须有所取舍。因此系统架构师不要把精力浪费在如何设计才能同时满足CAP三者的完美分布式系统,而是应该研究如何进行取舍,满足实际的业务需求。


  • 解释


Consistency(一致性):在分布式系统中的所有数据备份,在同一时刻都有同样的值。/数据一致更新,所有数据变动都是同步的;

Availability(可用性):在集群中一部分节点故障后,集群整体还能响应客户端的读写请求。/每一个操作总是能够在确定的时间内返回,也就是系统随时都是可用的,强调好的响应性能;

Tolerance of network Partitions(分区容错性):集群中的某些节点在无法联系后,集群整体还能继续进行服务。/在出现网络分区(比如断网)的情况下,分离的系统也能正常运行,强调系统的可靠性;



CAP理论
            
    
    博客分类: 分布式数据库 CAP 

对于分布式存储系统而言,分区容错性(P)是基本需求,因此有CP和AP两种选择。


  1. CP模式保证分布在网络上不同节点数据的一致性,但对可用性支持不足,这类系统主要有BigTable, HBASE, MongoDB, Redis, MemcacheDB, Berkeley DB等。
  2. AP模式主要以实现"最终一致性(Eventual Consistency)"来确保可用性和分区容忍性,但弱化了数据一致性要求,典型系统包括Dynamo, Tokyo Cabinet, Cassandra, CouchDB, SimpleDB等。

 

  • CAP理论
            
    
    博客分类: 分布式数据库 CAP 
  • 大小: 76.3 KB
相关标签: CAP