【面试官】我看你简历写了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 回复 分享
发布于 2024-08-02 15:37 广东

相关推荐

09-03 18:37
南开大学 Java
📍面试公司:阿里🕐面试时间:9月3号💻面试岗位:后端开发❓面试问题:一.八股:1. HashMap的底层实现原理是什么?2. Java中的垃圾回收机制有哪些常见算法?3. Spring的IoC容器是如何管理Bean生命周期的?4. 线程池的核心参数和工作流程是怎样的?5. 数据库索引为什么能提升查询性能?B+树的结构是什么?6. TCP三次握手和四次挥手的具体过程?7. 什么是分布式系统中的CAP定理?如何权衡?8. Redis的持久化方式RDB和AOF有什么区别?9. 消息队列如Kafka如何保证消息不丢失?10. 设计模式中工厂模式和抽象工厂模式的区别?11. Java中的synchronized和Lock锁有什么异同?12. Spring Boot的自动配置原理是什么?13. 微服务架构中服务发现和负载均衡如何实现?14. MySQL的事务隔离级别有哪些?各自解决什么问题?15. JVM内存模型中的堆和栈有什么区别?二.项目:- 仿拼多多拼团项目:1. 如何设计拼团功能的数据表结构来支持高并发?2. 在拼团过程中,如何处理超时未成团的订单退款?- AI agent项目:1. AI agent的后端架构是如何集成自然语言处理模型的?2. 如何优化AI响应的延迟和吞吐量?三.手撕:1. 力扣中等题:LRU缓存机制(LeetCode 146),要求实现一个LRU缓存类,支持get和put操作。2. 力扣中等题:三数之和(LeetCode 15),找出数组中所有不重复的三元组,使得和为0。
查看21道真题和解析
点赞 评论 收藏
分享
评论
4
14
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务