分布式系统的CAP理论

分布式系统的CAP理论

理论首先把分布式系统中的三个特性进行了如下归纳

  • 一致性(Consistency):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有节点在同一时间具有相同的数据
  • 可用性(Availability):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(保证每个请求不管成功或者失败都有响应
  • 分区容错性(Partition tolerance):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。(系统中任意信息的丢失或失败不会影响系统的继续运作



CAP理论的核心

  • 一个分布式系统不可能同时很好的满足一致性、可用性和分区容错性这三个需求
  • 最多只能同时较好地满足两个
  • 而由于当前的网络硬件肯定会出现延迟、丢包等现象,所以:分区容忍性是我们必须要实现的


NoSQL 数据库三大类

根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三大类

CA 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大
CP 满足一致性,分区容忍性的系统,通常性能不是特别高
AP 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些