近期忽然间考虑到了这个问题。
自己写的 cap 文章
https://blog.csdn.net/zlpzlpzyd/article/details/133675303
按照 cap 理论来讲的话,无论如何要保证分区容忍性(Partition Tolerance),因为网络是不可靠的。
自己的猜测,redis 集群是 ap,不是 cp。
从主从复制逻辑来考虑这个问题
自己整理的redis主从复制整理的文章
https://blog.csdn.net/zlpzlpzyd/article/details/131363765
如果按照单台机器来讲的话,严格意义上来讲的话不符合 cap 理论,因为这个理论是针对多台机器的,如果硬要往上靠的话,属于 cp,因为能保证一致性。单台节点宕机后高可用不可能,但是一致性问题不存在,因为只有一个节点。
之前自己写的redis 主从复制、sentinel、集群的区别
https://blog.csdn.net/zlpzlpzyd/article/details/129625477
考虑到 redis 的主从复制逻辑,从节点复制主节点的数据是异步,不是实时,但是能保证最终一致性。
redis集群是在sentinel的主从复制高可用的基础上添加了分布式,即保证了高可用性,主节点停止后,在一定的时间内,从节点会提升为主节点,但是在这段时间内,可能会数据一致性问题,但是通过主从复制的全量复制和增量复制能保证节点之间最终一致性,无法保证强一致性。