CAP理论
一、CAP理论
根据CAP理论,一个分布式系统不可能同时满足以下三种
- 一致性(C:Consistency)
- 可用性(A:Available)
- 分区容错性(P:Partition Tolerance)
CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。如果在某个分布式系统中数据无副本, 那么系统必然满足强一致性条件, 因为只有独一数据,不会出现数据不一致的情况,此时C和P两要素具备,但是如果系统发生了网络分区状况或者宕机,必然导致某些数据不可以访问,此时可用性条件就不能被满足,即在此情况下获得了CP系统,但是CAP不可同时满足
因此在进行分布式架构设计时,必须做出取舍。以下三种情况:
CA:不分区的情况下,一致性和可用性可以保证,但是舍弃分区容错性,那就变成单机模式了
CP:保证一致性和分区容错性的前提下,意味着需要进行数据同步,这时的可用性无法保障
AP:保证可用性和分区容错性的前提下,一旦出现网络波动,数据一致性无法保障
模式 | 例子 |
---|---|
CA | MySQL |
CP | Redis,MongoDB |
AP | 12306,淘宝 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 boystar的博客!