Session共享的解决办法

Session共享的解决办法

问题的由来:

系统登录后,假如用户的请求被转发到tomcat1上,这时系统会写一个当前用户的信息放入session中。这种情况就称为有状态的,问题就来了。nginx负载均衡后,下一次用户的请求就被转发tomcat2上。tomcat2上没有session。系统就会要求用户去登录,这显然是不合理的。把这个问题称作session共享问题。

1、 将信息放到cookie-放在客户端
session存在服务器端,会对服务器产生压力。如果将信息保存到cookie中,减轻了服务器的压力,同时每个客户端的压力也很小。因为只保存自己的信息。这种方式在实际的开发中广泛的采用。

缺点:cookie可以被禁用,cookie要随着浏览器传递,增大了传输的内容,cookie大小有限制。


2     单点登录
将session从系统中独立出来。Apacheshiro顶级安全框架,它的session管理就是独立出来的。

目前主流做法是利用redis作为session管理的实现,因为redis访问极其快速。

 

posted on 2021-03-04 10:58  @atn  阅读(215)  评论(0编辑  收藏  举报

导航