阿里JAVA面试题剖析:如何保证 Redis 的高并发和高可用?Redis 的主从复制原理能介绍一下么?

面试原题

如何保证 Redis 的高并发和高可用?Redis 的主从复制原理能介绍一下么?Redis 的哨兵原理能介绍一下么?面试

面试官心理分析

其实问这个问题,主要是考考你,Redis 单机能承载多高并发?若是单机扛不住如何扩容扛更多的并发?Redis 会不会挂?既然 Redis 会挂那怎么保证 Redis 是高可用的?sql

其实针对的都是项目中你确定要考虑的一些问题,若是你没考虑过,那确实你对生产系统中的问题思考太少。segmentfault

面试题剖析

若是你用 Redis 缓存技术的话,确定要考虑如何用 Redis 来加多台机器,保证 Redis 是高并发的,还有就是如何让 Redis 保证本身不是挂掉之后就直接死掉了,即 Redis 高可用。缓存

因为此节内容较多,所以,会分为两个小节进行讲解。架构

Redis 主从架构并发

Redis 基于哨兵实现高可用分布式

Redis 实现高并发主要依靠主从架构,一主多从,通常来讲,不少项目其实就足够了,单主用来写入数据,单机几万 QPS,多从用来查询数据,多个从实例能够提供每秒 10w 的 QPS。高并发

若是想要在实现高并发的同时,容纳大量的数据,那么就须要 Redis 集群,使用 Redis 集群以后,能够提供每秒几十万的读写并发。源码分析

Redis 高可用,若是是作主从架构部署,那么加上哨兵就能够了,就能够实现,任何一个实例宕机,能够进行主备切换。性能


本文的重点是你有没有收获与成长,其他的都不重要,但愿读者们能谨记这一点。同时我通过多年的收藏目前也算收集到了一套完整的学习资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货,但愿对想成为架构师的朋友有必定的参考和帮助

须要更详细架构师技能思惟导图和如下资料的能够加一下技术交流分享群:“708 701 457”免费获取




相关文章
相关标签/搜索