Session丢失以及nginx如何防止session丢失

1.Session丢失?
在正常情况下,浏览器发起一个请求,浏览器登陆,并且给项目加了集群,并且要通过nginx去访问该项目,第一次请求可能访问tomcat1,并将(User)用户信息存入Session,当查询用户信息时,nginx有负载均衡的作用,可能把请求给了tomcat2,但是tomcat2中的Session没用User(用户信息),所以Session丢失。

2.如何防止Session丢失?

Session丢失以及nginx如何防止session丢失
使用ip_hash的弊端:
1 使用时请求会根据ip地址会分配一台tomcat,但是当使用的服务器死掉时,还是会去找另外一台服务器,所以还是会发生Session丢失的情况。
2使用tomcat广播机制完成Session共享,当在配置文件server.xml中,把下土配置放开, 放开之后只要是在一个局域网中,tomcat1就能找到tomat2,就会产生一种效果:tomcat1就会把自己的Session复制给tomcat2,复制给tomcat3,但是当服务器逐渐增多,会无限制的加集群,所以这种方式也不好,因为复制Session会耗费资源。
Session丢失以及nginx如何防止session丢失

3Session的特点,有key,有value,还可以设置过期时间,Redis也是key,value的形式,也可以设置过期时间,使用Redis代替Session