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

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

2.如何防止Session丢失?

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值