说到分布式就一定要了解CAP原理,那么什么是CAP原理呢?
1.CAP原理是什么?
C(Consistency )强一致性:在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
A(Availablity )可用性: 在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性),简单来说,就是网站不能处于一种不能使用的状态
P(Partition-torlerance )分区容忍性: 以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性,分区容错性这三个需求,最多只能同时较好的满足两个。但是由于当前的网络肯定会出现延迟丢包等问题,因此我们必须要满足分区容错性,只能在强一致性和可用性之间权衡
因此,根据CAP原理将nosql数据库分成了满足CA原则,满足CP原则和满足AP原则三大类
CA-单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大 ,传统的数据库都是满足CA原则的
CP-满足一致性,分区容忍性的系统,通常性能不是特别高 ,是大多数网站结构的选择
AP-满足可用性,分区容忍性的系统,通常可能对一致性要求低一些 ,Mongodb、Redis等则是满足了AP原则
因此,在分布式架