1. 其中C是一致性
是指在分布式系统中的所有数据备份,在同一时刻都是同样的,即客户端访问任意节点,都是最新的数据。在redis的主从关系中,主节点保存了数据,直接就返回给客户端了,并没有保证从节点都是最新的数据。客户端访问别的节点可能会发生master上已经有了数据,但从节点没有数据,就是出现了数据不一致现象。
2. 其中A是可用性
是指在分布式系统中,任何一个请求,只要向节点发起了请求,就需要获得响应。
3. 其中P是分区容错性
是指在主从部署的情况下,节点会部署在不同的子网络下,不同的子网络就是一个分区,分区容错就是不同分区之间可能会通信失败。比如一台服务器放在中国,另一台服务器放在美国,这就是两个分区,可能会不能通信。
为什么C和P只能保证一个呢?
就是因为会出现分区通信失败。如果要保证一致性,在一个节点上的数据必须发给其他备份节点(可能在不同的分区),那么这时候其他的访问就被锁在请求外面。这时候就不是完全可用的。
而可用性,就是可以不保证数据必须备份到其他节点上,新来的请求也可以立马获得处理。