SpringBoot 系列教程(六十六):SpringBoot整合使用Spring-Session

一、前言

在使用基于SpringBoot2.x开发Java后台微信管理系统的时候,由于使用了Nginx做服务的负载均衡,遇到了一个Session共享的问题,nginx做负载均衡分发请求到多个tomcat,我们分别叫tomcat(微信1)和tomcat(微信2),此时访问页面会把请求分发到不同的服务器,session是存在服务器端,如果首次访问被分发到tomcat(微信1)服务器,那么session就会被存到tomcat(微信1)服务器,再次访问时负载均衡会分发到tomcat(微信2)服务器那么第一次访问的session信息就会获取不到之前的session信息,所以需要实现session共享,还好有spring session,使用简单的配置即可实现session共享,下面先介绍下Session相关概念以及常见的session共享解决方案。

二、 什么是 Session

由于 HTTP 协议是无状态的协议,因而服务端需要记录用户的状态时,就需要用某种机制来识具体的用户。Session 是另一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 Session 保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是 Session。客户端浏览器再次访问时只需要从该 Session 中查找该客户的状态就可以了。

三、 为什么要实现session共享

当用户量比较大时候一个tomcat可能无法处理更多的请求,超过单个tomcat的承受能力,可能会出现用户等待,严重的导致tomcat宕机。

在这里插入图片描述

这时候我们后端可能会采用多

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客
应支付9.90元
点击重新获取
扫码支付

支付成功即可阅读