2023年6月20日发(作者:)
程序员如何技术划⽔,java⼋⼤基本数据类型⼤⼩排序开头提起Spring,⼤家肯定不陌⽣,它是每⼀个Java开发者绕不过去的坎。Spring 框架为基于 java 的企业应⽤程序提供了⼀整套解决⽅案,⽅便开发⼈员在框架基础快速进⾏业务开发。我最近⼀直在研究⼤⼚的⾯试,发现现在的不论⼤⼤⼩⼩的互联⽹公司,Spring都是⼀个绕不开的话题,⽽且仅仅是 Spring 的⾯试,从最开始的官⽹⼊门到现在源码的深度分析。主要就是四个系列:⼀,session共享⾸先第⼀个要解决的就是sesison共享的问题,如下图。通常有两种解决⽅案,第1种是配置nginx的负载集群策略为ip_hash,第2种是将session存储到其它地⽅,⼀般推荐放到redis中。第1种⽅案适合于临时解决或者是为了兼容历史项⽬,但是从应⽤服务器⽆状态的⾓度考虑,推荐把⽤户会话session放到redis,如下图。⼆,本地缓存如果使⽤本地缓存,当从单体迁移到集群后,就会⾯临缓存同步的问题,如下图。最佳实践是上分布式缓存,既解决了缓存同步的问题,也释放了应⽤服务器的内存资源,如下图。三,⽂件服务应⽤服务器在上集群之前,⽂件通常会放在本地,或者单独的⽂件服务器上,因为⽂件服务需要占⽤⼤量的硬盘空间,以上两种⽅案都⽆法很好的解决硬盘扩容的问题,最佳实践是放到云存储上,⽐如阿⾥云的OSS,或者腾讯云的COS上,这样可以做到按需扩容,如下图。四,分布式环境下线程同步问题在单机环境下,使⽤lock就可以解决线程同步的问题,⼀旦上了集群之后,lock就不管⽤了,这时需要上分布式锁,分布式锁的解决⽅案也有很多,我这⾥推荐使⽤redis的setnx,需要注意的是,如果redis是集群部署的,需要考虑这种情形:假设我们在redis的主节点上添加了⼀把分布式锁,不幸的是主节点挂掉了,⽽且主节点上的锁还没有同步到从节点上,如果此时有客户端来请求获得同⼀把锁,那么它将顺利地获得锁,之前那把锁会被⽆情地忽视掉,这就是分布式锁在Redis集群中遇到的⿇烦。最后码字不易,觉得有帮助的可以帮忙点个赞,让更多有需要的⼈看到⼜是⼀年求职季,在这⾥,我为各位准备了⼀套Java程序员精选⾼频⾯试笔试真题,来帮助⼤家攻下BAT的offer,题⽬范围从初级的Java基础到⾼级的分布式架构等等⼀系列的⾯试题和答案,⽤于给⼤家作为参考,需要的可以,以下是部分内容截图///doc/DSmxTbFJ1cmN1R2dB)**,以下是部分内容截图
2023年6月20日发(作者:)
程序员如何技术划⽔,java⼋⼤基本数据类型⼤⼩排序开头提起Spring,⼤家肯定不陌⽣,它是每⼀个Java开发者绕不过去的坎。Spring 框架为基于 java 的企业应⽤程序提供了⼀整套解决⽅案,⽅便开发⼈员在框架基础快速进⾏业务开发。我最近⼀直在研究⼤⼚的⾯试,发现现在的不论⼤⼤⼩⼩的互联⽹公司,Spring都是⼀个绕不开的话题,⽽且仅仅是 Spring 的⾯试,从最开始的官⽹⼊门到现在源码的深度分析。主要就是四个系列:⼀,session共享⾸先第⼀个要解决的就是sesison共享的问题,如下图。通常有两种解决⽅案,第1种是配置nginx的负载集群策略为ip_hash,第2种是将session存储到其它地⽅,⼀般推荐放到redis中。第1种⽅案适合于临时解决或者是为了兼容历史项⽬,但是从应⽤服务器⽆状态的⾓度考虑,推荐把⽤户会话session放到redis,如下图。⼆,本地缓存如果使⽤本地缓存,当从单体迁移到集群后,就会⾯临缓存同步的问题,如下图。最佳实践是上分布式缓存,既解决了缓存同步的问题,也释放了应⽤服务器的内存资源,如下图。三,⽂件服务应⽤服务器在上集群之前,⽂件通常会放在本地,或者单独的⽂件服务器上,因为⽂件服务需要占⽤⼤量的硬盘空间,以上两种⽅案都⽆法很好的解决硬盘扩容的问题,最佳实践是放到云存储上,⽐如阿⾥云的OSS,或者腾讯云的COS上,这样可以做到按需扩容,如下图。四,分布式环境下线程同步问题在单机环境下,使⽤lock就可以解决线程同步的问题,⼀旦上了集群之后,lock就不管⽤了,这时需要上分布式锁,分布式锁的解决⽅案也有很多,我这⾥推荐使⽤redis的setnx,需要注意的是,如果redis是集群部署的,需要考虑这种情形:假设我们在redis的主节点上添加了⼀把分布式锁,不幸的是主节点挂掉了,⽽且主节点上的锁还没有同步到从节点上,如果此时有客户端来请求获得同⼀把锁,那么它将顺利地获得锁,之前那把锁会被⽆情地忽视掉,这就是分布式锁在Redis集群中遇到的⿇烦。最后码字不易,觉得有帮助的可以帮忙点个赞,让更多有需要的⼈看到⼜是⼀年求职季,在这⾥,我为各位准备了⼀套Java程序员精选⾼频⾯试笔试真题,来帮助⼤家攻下BAT的offer,题⽬范围从初级的Java基础到⾼级的分布式架构等等⼀系列的⾯试题和答案,⽤于给⼤家作为参考,需要的可以,以下是部分内容截图///doc/DSmxTbFJ1cmN1R2dB)**,以下是部分内容截图
发布评论