吊打面试官之分布式会话 分手后的思念是犯贱 2022-11-07 11:53 359阅读 0赞 ### 吊打面试官之分布式会话 ### * * 1、什么是分布式会话? * 2、有哪些分布式会话解决方案? * 3、为什么选择基于redis存储session方案? * * 3.1、客户端存储 * 3.2、session复制 * 3.3、session绑定 * 3.4、基于redis存储session方案(重点) * 4、我是如何使用redis存储session的? ## 1、什么是分布式会话? ## 我认为就是在**同一个系统中**访问**不同服务器**能做到**保留用户状态**的一种机制(解决方案)。 **场景:** 一台tomcat时,肯定是不会出现什么问题。如果是A,B两台服务器呢?请求1先访问到A,A中存储了1的信息,当请求1访问B时,B中并没有1的信息。如何让A,B共享同一session呢? \*\*解决方案:\*\*那就是在A,B中介入第三方,来存储这个session。 **扩展链接:** [来之简书的详细解答][Link 1] -------------------- ## 2、有哪些分布式会话解决方案? ## 1. 客户端存储; 2. session复制; 3. session绑定; 4. **基于redis存储session方案(推荐);** -------------------- ## 3、为什么选择基于redis存储session方案? ## ### 3.1、客户端存储 ### **解释:** 直接将信息存储到cookie中 **优点:** 1、客户端通过http协议和服务器进行cookie交互 **(快捷)** **缺点:** 1、数据存储在客户端,存在**安全隐患** 2、cookie存储**大小、类型存在限制** 3、数据存储在cookie中,如果一次请求cookie过大,会给**网络增加更大的开销** ### 3.2、session复制 ### **解释:** 一台服务器中如果获取到sesion就会复制到其他服务器 **优点:** 1、任何一台服务器宕机的时候不会影响另外服务器中session的状态 **(独立)** 2、配置相对简单 **(简单)** **缺点:** 1、服务器多了,并发上来了,session需要同步的数据量就大 **(网路开销)(内存不足)** ### 3.3、session绑定 ### **解释:** 客户端和服务器进行绑定(基于nginx的ip-hash策略实现) **优点:** 1、配置相对简单 **(简单)** **缺点:** 1、如果该服务器宕机,session将消失 **(存在消失风险)** 2、前端不能有负载均衡,如果有,session绑定将会出问题 **(扩展性弱)** ### 3.4、基于redis存储session方案(重点) ### **解释:** 使用redis来存储session **优点:** 1、企业中运用广泛 **(普及性搞)** 2、数据保存在redis中,无缝接入,不存在任何安全隐患 **缺点:** 1、如果该服务器宕机,session将消失 **(存在消失风险)** 2、前端不能有负载均衡,如果有,session绑定将会出问题 **(扩展性弱)** -------------------- ## 4、我是如何使用redis存储session的? ## 自定义token 存redis实现分布式会话 1. 登录成功后,后端自定义一个不会重复token(使用UUID) 2. 后端把这个token存到redis中,并且设置一下过去时间,并把token返给前端 3. 前端达到token存到session storage中 4. 前端隔几分钟就请求后端的token续期接口(也就是把redis存的token重置过期时间) 代码下载地址: [源码地址][Link 2] -------------------- [Link 1]: https://www.jianshu.com/p/a38943627820 [Link 2]: https://download.csdn.net/download/wtyicy/15839896
相关 如何用 Redis 吊打面试官? 如果你是一位后端工程师,面试时八成会被问到 Redis,特别是那些大型互联网公司,不仅要求面试者能简单使用 Redis,还要深入理解其底层实现原理,具备解决常见问题的能力。可以 灰太狼/ 2022年11月18日 05:58/ 0 赞/ 226 阅读
相关 吊打面试官之一面试官提问 吊打面试官之一面试官提问 1、你在项目中遇到什么样的难问题? 1.1、什么是难解决的问题? 1.2、你在项目中遇到什 亦凉/ 2022年11月14日 11:55/ 0 赞/ 258 阅读
相关 吊打面试关之分布式事务 吊打面试官之分布式事务 1、什么是分布式事务 2、有哪些分布式事务解决方案? 3、各种分布式事务解决方案优缺点? 今天药忘吃喽~/ 2022年11月12日 02:51/ 0 赞/ 255 阅读
相关 吊打面试官之一面系统架构设计 吊打面试官之一面系统架构设计 1、系统架构方案 1.1、分维度介绍 1.2、系统架构 1.3、 落日映苍穹つ/ 2022年11月11日 05:21/ 0 赞/ 240 阅读
相关 吊打面试官之一面项目介绍 吊打面试官之一面项目介绍 1、聊聊项目要点 2、项目场景介绍(电商为例) 2.1、项目做了什么? 2. 红太狼/ 2022年11月10日 10:55/ 0 赞/ 236 阅读
相关 吊打面试官之幂等性问题 吊打面试官之幂等性问题 1、什么是幂等性问题? 2、有哪些幂等性问题解决方案? 3、为什么选择分布式锁解决幂等性问题方案? 女爷i/ 2022年11月10日 05:40/ 0 赞/ 219 阅读
相关 吊打面试官之分布式会话 吊打面试官之分布式会话 1、什么是分布式会话? 2、有哪些分布式会话解决方案? 3、为什么选择基于redis存储session方案 分手后的思念是犯贱/ 2022年11月07日 11:53/ 0 赞/ 360 阅读
相关 吊打面试官之一面自我介绍 吊打面试官之一面自我介绍 1、面试流程 2、自我介绍要点 3、自我介绍内容 4、介绍亮点 5、自我介绍 水深无声/ 2022年10月22日 13:50/ 0 赞/ 212 阅读
相关 吊打面试官之分布式锁 吊打面试官之分布式锁 1、什么是分布式锁 2、有哪些分布式锁解决方案? 3、为什么选择基于Redis分布式锁? 一时失言乱红尘/ 2022年10月22日 11:54/ 0 赞/ 250 阅读
相关 吊打面试官之乐观锁 吊打面试官之乐观锁 1、什么是乐观锁 2、乐观锁的原理 3、乐观锁使用场景 3.1、解决幂等性问题(超卖,充值 迈不过友情╰/ 2022年10月22日 10:54/ 0 赞/ 255 阅读
还没有评论,来说两句吧...