CAP是分布式系统的3个特性:
C:Consistency(强一致性),写操作之后的读操作,必须返回该值。
A:Availability(可用性),用户发出请求,服务器一定要给出响应。
P:Partition tolerance(分区容错性),大多数分布式系统都分布在多个子网络,每个子网络就叫做一个区(partition),分区容错的意思是,区间通信可能失败。
一个分布式系统不可能同时很好地满足一致性、可用性和分区容错性这三个需求,最多只能同时较好地满足两个:
CA:单点集群,满足一致性、可用性的系统,通常在可扩展性上不太强大。传统oracle数据库一般选用CA。
CP:满足一致性、分区容错性的系统,通常性能不是特别高。Redis、MongoDB选择CP。
AP:满足可用性、分区容纳广场性的系统,通常对一致性要求低一些。大多数网站架构选择AP。