Redis的三种模式
一、cluster的架构变化
1、单机redis:redis单机模式,保证了数据的一致性而牺牲了可用性,即不能够实现高可用,只是保证了用户可以看到相同的数据和当网络通信出问题是能够保证隔离的子系统能够继续运行,因为在单机模式中master与slave之间不存在通信问题 所以当master节点挂掉以后子节点不能保证能够正常的提供服务
2、哨兵redis:哨兵在单机redis上做了些许改动增加一个sentinel也就是哨兵来实现redis的可用性,让单机的redis的master和slave之间存在通信,实现了故障转移从而实现了高可用性,不过哨兵的缺点也显而易见,那么redis作为一个内存服务器每个节点的数据都是全量复制,哨兵的存储受限于内存最小的节点,并且在故障转移的过程中存在一瞬间的访问瞬断情况,只有一个数据节点对外服务无法应对高并发的访问,而且单个节点内存也不宜设置得过大,否则会导致持久化文件过大,影响数据恢复或主从同步的效率。
3、集群模式:集群模式才采用数据分片的方式存储,即采用虚拟槽分区所有的键值根据哈希算法映射到数据槽内,每个节点负责维护一部分的槽及槽锁映射的键值数据,这使得redis由一个单纯的nosql内存数据库变为一个分布式的nosql数据库使redis具有了分区容忍性,并且实现了负载均衡,当某个节点挂了以后数据在其他节点上具有备份并且这个节点马上就可以投入使用,实现了高可用性也正是因为这一点redis失去了数据的强一致性
4、CAP理论:
Redis单机模式:实现了数据的一致性Consistency(一致性)
redis哨兵模式:实现了数据的一致性和高可用性 Consistency(一致性)、Availability(可用性)
redis 集群模式:实现了
redis的三种模式以及涉及到的CAP理论
最新推荐文章于 2024-06-05 19:28:49 发布