【Java问答学堂】16期如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【Java问答学堂】16期如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍

2020-05-09 21:09:41 2283 1

【Java问答学堂】16期如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?

面试题

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

面试官心理分析

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

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

面试题剖析

如果你用 redis 缓存技术的话,肯定要考虑如何用 redis 来加多台机器,保证 redis 是高并发的,还有就是如何让 redis 保证自己不是挂掉以后就直接死掉了,即 redis 高可用。

由于此节内容较多,因此,会分为两个小节进行讲解。

  • redis 主从架构
  • redis 基于哨兵实现高可用

redis 实现高并发主要依靠主从架构,一主多从,一般来说,很多项目其实就足够了,单主用来写入数据,单机几万 QPS,多从用来查询数据,多个从实例可以提供每秒 10w 的 QPS。

如果想要在实现高并发的同时,容纳大量的数据,那么就需要 redis 集群,使用 redis 集群之后,可以提供每秒几十万的读写并发。

redis 高可用,如果是做主从架构部署,那么加上哨兵就可以了,就可以实现,任何一个实例宕机,可以进行主备切换。

往期回顾:

【Java问答学堂】1期 为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?

【Java问答学堂】2期 如何保证消息队列的高可用?

【Java问答学堂】3期 如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?

【Java问答学堂】4期 如何保证消息的可靠性传输?(如何处理消息丢失的问题?)

【Java问答学堂】5期 如何保证消息的顺序性?

【Java问答学堂】6期 如何解决消息队列的延时以及过期失效问题?

【Java问答学堂】7期 如果让你写一个消息队列,该如何进行架构设计?

【Java问答学堂】8期 es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)?

【Java问答学堂】9期 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?

【Java问答学堂】10期 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?

【Java问答学堂】11期 es 生产集群的部署架构是什么?每个索引的数据量大概有多少?

【Java问答学堂】12期 项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?

【Java问答学堂】13期 redis 和 memcached 有什么区别?

【Java问答学堂】14期 redis 都有哪些数据类型?分别在哪些场景下使用比较合适?

【Java问答学堂】15期redis 的过期策略都有哪些?内存淘汰机制都有哪些?

取消 提交回答
全部回答(1)
相关问答

0

回答

请问在循环中调用java ConcurrentMap的 putIfAbsent方法是否会有性能问题?

2021-11-07 14:54:57 172浏览量 回答数 0

0

回答

请问将java二进制数据转换为双精度Double,有没有性能更快的方法?

2021-11-12 17:22:08 129浏览量 回答数 0

0

回答

请问将java中的二进制数据转换为整数性能最优的做法是什么?

2021-11-07 13:07:31 159浏览量 回答数 0

0

回答

请问将java中的二进制数据转换为字符性能最优的做法是什么?

2021-11-12 17:22:05 150浏览量 回答数 0

1

回答

请问获取 java HashSet集合中的最大值,有没有性能更快的做法?

2021-11-07 15:21:10 268浏览量 回答数 1

0

回答

请问将java二进制数据转换为布尔值,有没有性能更快的方法?

2021-11-07 13:03:51 145浏览量 回答数 0

0

回答

java在调用jedis判断某个键是否存在的方法exists时操作性能很慢,该如何优化?

2021-11-12 17:03:58 1108浏览量 回答数 0

0

回答

请问当java应用程序读取内存中的数据失效时,对应用系统的性能影响有多大?

2021-11-12 17:22:03 230浏览量 回答数 0

0

回答

请问读取java HashSet集合对象中的最后一个元素,有没有性能更快的做法?

2021-11-07 15:21:13 139浏览量 回答数 0

0

回答

java应用使用kafka消息队列异步处理数据,但发送消息时偶尔会有卡住的性能问题,该如何优化?

2021-11-12 17:04:03 1250浏览量 回答数 0
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
高并发分布式缓存Redis6.0
立即下载
Redis多线程性能优化
立即下载
Codis 集群演化与 Redis 异步迁移
立即下载