关于Spring-Session解决Session共享问题
现在很多服务器都采用分布式集群的方式部署,一个web应用可能部署在几台不同的服务器上面,通过Nginx进行负载均衡。此时用一用户的HTTP请求将有可能被分发到不同的web站点去。那么问题来了,如何保证不同的web站点共享一份session数据呢?
1、使用Tomcat等服务器提供的session共享功能,将session内容统一存储到数据库或者缓存中。
2、使用Nginx也可以,当Nginx使用ip_hash策略时,可以确保每个访客固定访问一个后端服务器,也可以解决session共享问题。
3、交给Spring-Session管理session,session的管理责任委托给spring-session承担。当request进入web容器,根据request获取session时,由spring-session负责存存储器中获取session,如果存在则返回,如果不存在则创建并持久化至存储器中。