Tomcat 集群 + Redis Session 共享出现 Session 瞬间失效问题

Tomcat 集群 + Redis Session 共享出现 Session 瞬间失效问题

写在前面的话

写这篇博客出于公司最近要迁移到新的云上面且对之前的资源,架构做一个升级。

本来是一个不大的项目,旧环境旧一个 TOMCAT 跑起来,不过出于高可用考虑,新环境决定使用 TOMCAT 集群的方式,前方交给 NGINX 来处理,为了避免一个 TOMCAT 挂掉之后影响用户的使用,决定使用 Redis 来保存 Session。

结果问题就出现了,其它的项目都能够毫无问题的运行,但就这个项目出现一个恶心的一批的问题,TOMCAT 不配置 Redis,服务毫无问题,一配置,输入账号密码登录之后瞬间又登出,查看 Redis 发送 Session 明明没问题。

这就很脑壳痛了!好在网上大神比较多!

解决办法

来自 Fighter168 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/fighterandknight/article/details/70210245?utm_source=copy

为了避免出现该博主博客被删除的情况,在这里对该问题的关键点进行一个简单的搬运!

Tomcat 集群共享 Session 图示:

Tomcat 集群 + Redis Session 共享出现 Session 瞬间失效问题

出现问题的原因在于:

加了 Redis 做 Session 共享,共享的对象没有序列化,Session 又得从 TOMCAT 1 共享到 TOMCAT 2,所以涉及到对象的传递,对象如果需要通过网络传输的话,那么必须要通过序列化,否则,传输不了对象,也就共享不了。

那么问题的症结在于对象的登录对象的序列化了,这就是开发的活了,后经过开发修改代码得以解决!

上一篇:基于Redis缓存的Session共享测试(转)


下一篇:nginx整合tomcat集群并做session共享----测试案例