AP 优于CP
分布式系统领域有一个重要的CAP理论,该理论由加州大学克利分校Eric Brewer教授提出,由麻省理工学院的Seth Gilbert和Nancy Lynch进行理论证明。
该理论提到了分布式系统的CAP三个特性:
Consistency: 数据一致性,即数据在存在多副本的情况下,可能由于网络、机器故障、软件系统等问题导致数据写入部分副本成功,部分副本失败,进而
造成副本之间数据不一致,存在冲突。满足一致性则要求对数据的更新操作成功之后,多副本的数据保持一致。
Availability: 在任何时候客户端对集群进行读写操作时,请求能够正常响应,即在一定的延迟时内完成。
Partition Tolerance: 分区容忍性,即发生通信故障的时候,整个集群被分割为多个无法相互通信的分区时,集群仍然可用。
对分布式系统来说,一般网络条件相对不可控,出现网络分区时不可避免的,因此系统必须具备分区容忍性。在这个前提下分布式系统的设计则在AP与CP之间进行选择。
不能理解为CAP三者之间三选二,他们三者之间不是对等和可以互相替换的。在分布式系统领域,P是一个客观存在的事实,不可绕过,所以P与AC之间不是对等关系。