【面试官】我看你简历写了Redis集群,你说一说?

  • 面试官:我看你简历写了Redis集群,你说一说?
  • 面试官:那Redis集群怎么实现负载均衡的?
  • 面试官:要是热点数据都是某个Redis节点的槽,负载均衡不是没用了?
  • 面试官:Redis集群的主从模型,知道吗?
  • 面试官:那集群里怎么选举主节点的?

大家好,我是南哥。

一个Java学习与进阶的领路人,相信对你通关面试进入心心念念的公司有所帮助。

文章目录

  1. Redis集群
    1. 集群概念
    2. 集群分片
    3. 重新分片
  2. 集群的主从模型
    1. 主从模型
    2. 主节点选举

1. Redis集群

1.1 集群概念

面试官:我看你简历写了Redis集群,你说一说?

Redis主从架构和Redis集群架构是两种不同的概念,大家刚接触Redis时经常弄混淆。南哥给大家贴下Redis官网对两者的解释。

(1)Redis主从架构

Redis主从实现了有一个易于使用和配置的领导者跟随者复制,它允许副本 Redis 实例成为主实例的精确副本。

(2)Redis集群架构

Redis 集群将数据自动分片到多个 Redis 节点,Redis 集群还在分区期间提供一定程度的可用性,当某些节点发生故障或无法通信时,Redis集群能够继续运行。

它们两者都是Redis高可用的解决方案,但偏向点不同。Redis主从对数据的完整性更看重,Redis主从节点都保存了完整的一套数据库状态。

而Redis集群则对抗压能力更看重,整个集群的数据库整合起来才是一个完整的数据库。

在功能性上它们也有不同,Redis主从有哨兵,而Redis集群有分片。我们要看业务选择不同的Redis方案,当然,Redis集群还可以搭配Redis主从一起使用,我们可以在某一个集群节点上配置一套主从模型。

如果要6002、6003节点添加到6001节点的Redis集群里,我们可以使用以下命令。

127.0.0.1:6001> CLUSTER MEET 127.0.0.1 6002
OK
127.0.0.1:6001> CLUSTER MEET 127.0.0.1 6003
OK

1.2 集群分片

面试官:那Redis集群怎么实现负载均衡的?

大家要记住Redis集群一个很重要的知识点,那就是分片。

Redis集群通过分片的方式来保存数据库中的键值对,Redis集群把整个数据库分为16384个槽,而集群中的每个节点可以处理这里面的0个或最多16384个槽。

假如南友们在公司里配置了一个包含 3 个节点的集群,那么这3个节点的槽分配会是这样的:

  • 节点 A 包含从 0 到 5500 的哈希槽。
  • 节点 B

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java面试突击大厂 文章被收录于专栏

👉以面试官面试的形式,涵盖了你怒怼大厂面试官、拿下大厂面试所需掌握的核心知识、面试重点 👉相信一定对你顺利通关面试、拿到理想Offer有所帮助 👉花费大量精力去制作本专栏,创作不易,各位的支持就是我创作的最大动力

全部评论
666
1 回复 分享
发布于 08-02 15:37 广东

相关推荐

#我的岗位说明书#通过校招,进入了一个需要经常与市场、项目、外部兄弟单位对接的单位。从06月开始,入职三个月,在参与这里的多数工作后,有一些收获和体会。首先,最重要的就是在面试的时候,一定要把和岗位相关的信息问清楚。从薪资、加班情况,到部门或组内从事的主要工作、服务对象等,都要问清楚。从我自己的体会来看,在面试的时候,一方面面试官都是有一定职务的领导(对于国企这一点会比较常见,私企的话,后几轮面试一般也会有领导),另一方面面试你的人也不一定就是你要去的部门的人,所以在面试的时候大概率是不会很清楚地介绍与薪资、加班情况相关的内容——因此这些就需要找机会问问内部的同事。身边的不少同学就有这个问题:进入单位后,发现一些情况和当初面试时说的不太一样,尤其是薪资,可能会直接相差50%;加班时长也和面试的时候说的不一样。此外,对于很多国企,尤其是需要大市场、自负盈亏的国企,很多项目就是市场需要什么就需要做什么。这也就会导致有时自己做的事情和之前提及的内容,以及自己的预期有所不同(比如预计是做开发,但到了单位发现开始做营销或者项目对接等)。在当前这种形式之下,这种情况确实没有办法,所以就需要自己做好准备,一方面是在入职前问清情况,另一方面就是抓紧时间,提升自己,提升自己的综合能力。只有这样,才会有机会让自己不被外界事物过多干扰,保证自己一直还是有学习的能力和对应的技术的。
点赞 评论 收藏
分享
4 16 评论
分享
牛客网
牛客企业服务