分布式系统架构常识之CAP理论
什么是CAP理论? 2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后麻省理工学院的Seth Gilbert和NancyLynch从理论上证明了CAP,之后CAP理论正式成为分布式计算领域的公认定理。 CAP理论是由下面三个概念组成的,且在分布式系统中三者不能兼得,只能同时满足两种条件。 一致性(C) All nodes see the same data at the same time 所有数据库集群节点在同一时间点看到的数据完全一致,即所有节点能实时保持数据同步。 可用性(A) Reads and writes always succeed 读写操作永远是成功的。即服务一直是可用的,即使集群一部分节点故障,集群整体还能正常响应客户端的读写请求。 分区容错性(P) The system continues to operate despite arbitrary message loss or failure of part of the system 尽管系统中有任意的信息丢失或故障,系统仍在继续运行。以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。 CAP权衡使用 1、保留CA,放弃P 如果想避免分区容错性问题的发生