之前单台tomcat没有任何问题,但现在是集群的tomcat因此就存在session不一致问题。如图
解决方案
-
session复制
tomcat的session复制,可以实现session共享
优点:不需要额外开发,只需搭建tomcat集群即可
缺点:tomcat 是全局session复制,集群内每个tomcat的session完全同步(也就是任何时候都完全一样的) 在大规模应用的时候,用户过多,集群内tomcat数量过多,session的全局复制会导致集群性能下降, 因此,tomcat的数量不能太多。 -
session绑定
当用户A第一次访问系统时,tomcat_A对其进行服务,那么,下次访问时仍然让tomcat-A对其进行服务 -
使用redis集中管理session
可以将用户的会话保存在redis中,每次从redis中查询用户信息,就可以很好的解决会话共享问题。如图: