CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得。
一致性:指分布式系统中各个节点在同一时间的数据是完全一致的。
可用性:即服务一直可用,不会出现等待超时等情况,让用户体验不好。
分区容错性:指某个服务节点挂掉了,仍然能够提供相同的服务。
为什么不能满足分区容错性需要满足,不然不能称之为分布式系统,不满足分区容错性的分布式系统毫无意义。然后分布式系统一般是在一致性和可用性中作取舍。
如有A、B两个节点状态都为即为A0,B0,若修改A的数据A0-A1,那么A会将数据同步给B,B0-B1,那么当有用户访问B的时候,B返回的是与A一致的结果。这是是正常情况。但是网络出现异常,A并没有将数据同步给B。怎么办,这个时候只有两种选择,要么等待网络恢复,B0-B1之后将B1状态的响应数据返回,要么就直接响应B0的数据出去。等待就是满足一致性,直接响应就是满足可用性。