首页 实战正文

Redis系列(十):Redis面试系列问题(集群篇)

访客 实战 2020-07-25 10:17:19 31 0 系列集群问题
引言:将一台Redis服务器的数据,复制到其他Redis服务器上,前者称为主节点Master,后者称为从节点Slaver;并且数据的复制是单向的,只能从主节点到从节点。Redis主从复制支持主从同步和从从同步,后者是Redis后续版本新增的功能,以减少主节点的同步压力。① 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式;② 负载均衡:写Redis数据时链接主节点,读Redis数据时链接从节点,分担服务器负载。尤其是在写少读多的场景下,通过多个从节点分担读负载,可以提高Redis服务器的并发量;③ 故障恢复:当主节点出现问题,可以由从节点提供服务;④ 高可用性:主从复制还是哨兵和集群能够实施的 基础,因此说主从复制是 Redis 高可用的基础。准备阶段 -- 数据同步阶段 -- 命令传播阶段。每个阶段具体进行的操作,参见往期文章 《哨兵节点 & 数据节点。哨兵节点:哨兵系统由一个或者多个哨兵节点组成,哨兵节点是特殊的Redis节点,不存储数据;数据节点:存储数据的节点,主节点和从节点都是数据节点;监控(Monitoring):哨兵会不断地检查主节点和从节点是否运作正常;自动故障转移(Automatic Failover):当主节点不能正常工作时,哨兵会开始自动故障转移工作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点;配置提供者(Configuration Provider):客户端在初始化时,通过连接哨兵来获取当前Redis服务的主节点地址;通知(Notification):哨兵可以将故障转移的结果发送给客户端。故障转移操作的第一步要做的就是在已经下线的主服务器下的所有从服务器中,挑选出一个状态良好、数据完整的从服务器,然后向这个从服务器发送命令,将这个从服务器转换为主服务器。但是这个从服务器是怎么样被挑选出来的呢?复制偏移量(replication offset)最大的那个从服务器作为新的主服务器;如果复制偏移量不够,或者从服务器的复制偏移量相同,那么带有最小运行ID的那个从服务器成为新的主服务器。Redis Cluster,是Redis3.0开始引入的分布式存储方案。Redis集群的原理:个。当客户端连接到Redis集群之后,会同时得到一份关于这个集群的配置信息,当客户端具体对某一个key值进行操作时,会计算出它的一个Hash值,然后把结果对16384求余数,这样每个key都会对应一个编号在0~16383之间的哈希槽,Redis会根据节点数量大致均等的将哈希槽映射到不同的节点。① 数据分布是否均匀;② 增减节点对数据分布的影响。弊端:当新增或者删减节点时,节点数量发生变化,系统中所有的数据都需要重新计算映射关系,引发大规模的数据迁移。弊端:当节点数量较少时,增加或删减节点,对单个节点的影响可能很大,造成数据的严重不平衡。槽是介于数据和实际节点之间的虚拟概念,每个实际节点包含一定数量的槽,每个槽包含哈希值在一定范围内的数据。数据的映射关系由数据hash到实际节点变成了数据hash到槽再到实际节点。和 结构:前者记录了一个节点的状态,后者记录了集群作为一个整体的状态。Redis系列:MySQL系列:

MySQL系列(五):精华篇


MySQL系列(四):MVCC多版本并发控制


MySQL系列(三):数据库锁


MySQL系列(二):索引


MySQL系列(一):事务隔离级别


版权声明

旭日软件园-提供免费小软件下载,电脑教程和QQ表情包下载为主要宗旨.同时有网站运营,
编程教程,网页特效,手机教程,游戏攻略和IT资讯等内容,打造常用软件下载、内容丰富的站长学习!

本文链接:http://www.webmaster5u.com/sz/398.html

评论