一、前言
在这里我不得不感慨Spring的代码的完善与优秀,从之前看源码迷迷糊糊到现在基本了解Spring的部分源码后,愈来愈发现Spring开发者的思虑之周全!
之前说过学习源码的目的在哪?正如我特别喜欢的一句话,有道无术,术尚可求也!有术无道,止于术!
,对于Spring的了解仅仅局限于使用远远不够,Spring作为一个国内绝大多数java开发者使用的一个项目管理框架,他是一个生态,什么是生态?比如现在的SpringBoot
、SpringCloud
,他们是什么?是Spring生态中的一个组成部分!他们利用Spring生态中提供的各种扩展点,一步一步的封装,成就了现在Spring快速启动
、自动配置
等亮眼的功能!作为Spring的使用者,我们理应了解Spring的实现和各种扩展点,从而能够真正的深入Spring生态!深入了,再去研究生态中的组成部分如:SpringBoot
之流的框架,也就水到渠成了!
如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?
面试官心理分析:
其实问这个问题,主要是考考你,redis 单机能承载多高并发?如果单机扛不住如何扩容扛更多的并发?redis 会不会挂?既然 redis 会挂那怎么保证 redis 是高可用的?
其实针对的都是项目中你肯定要考虑的一些问题,如果你没考虑过,那确实你对生产系统中的问题思考太少。
面试题剖析:
如果你用 redis 缓存技术的话,肯定要考虑如何用 redis 来加多台机器,保证 redis 是高并发的,还有就是如何让 redis 保证自己不是挂掉以后就直接死掉了,即 redis 高可用。
由于此节内容较多,因此,会分为两个小节进行讲解。 - redis 主从架构 - redis 基于哨兵实现高可用
redis 实现高并发主要依靠主从架构,一主多从,一般来说,很多项目其实就足够了,单主用来写入数据,单机几万 QPS,多从用来查询数据,多个从实例可以提供每秒 10w 的 QPS。
如果想要在实现高并发的同时,容纳大量的数据,那么就需要 redis 集群,使用 redis 集群之后,可以提供每秒几十万的读写并发。
redis 高可用,如果是做主从架构部署,那么加上哨兵就可以了,就可以实现,任何一个实例宕机,可以进行主备切换。
redis学习总结
性能优化:
微服务:
并发编程:
开源框架:
独家面经总结,超级精彩
本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的,分享给大家!
Java面试准备
准确的说这里又分为两部分:
- Java刷题
- 算法刷题
Java刷题:此份文档详细记录了千道面试题与详解;
img-rrUZuGDt-1621574105355)]
[外链图片转存中…(img-yT0va6b2-1621574105355)]
以上所有文档已经打包好,只需要动动手指点击【转发+关注】,然后点击即可免费获取!