CAP原则又称CAP定理,分布式系统的基础理论,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。
CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
-
C(Consistency)一致性,分布式系统的每个节点读取的数据应该是一致的
-
A(Availability)可用性,保证服务一直能被访问到
-
P(Partition Tolerance)分区容错性,分布式系统一个节点出错,其它节点还可以使用
为了更方便的理解,看下面这个例子
既然说三者不能同时兼顾,那么在一个系统中我们怎么进行取舍呢?
- 放弃P,AC系统,那么就是成为了一个单体应用,不是分布式系统了
- 放弃A,CP系统,保证数据一致,放弃一定可用性(例如重要的国家机构、金融等)
- 放弃C,AP系统,保证可用性,放弃一定一致性(例如互联网企业,淘宝、抖音、京东等)
最多只能同时满足其中的两个