分布式Session问题

分布式Session问题

1.问题描述:

​ 在高并发中一台Tomcat服务器已经无法支持足够的并发量,这时我们需要多个服务器常配合Nginx使用;

​ 由于Nginx使用默认负载均衡策略(轮询),即用户请求按时间顺序被Nginx转发到不同的后端应用,比如说用户在Tomcat A登录用户Session存放在A,可是过一会用户继续操作,由于Nginx轮询,将请求交给了Tomcat B,但B没有用户Session这是会要求用户重新登录!***

2.解决方案:

1.Session复制

​ 优点

​ 不需要修改代码,只修改Tomcat配置

​ 缺点

​ Session同步传输占用内网带宽,多台Tomcat同步性能指数下降,Session占用内存,无法有效水平扩展

2.前端存储

​ 优点

​ 不占用服务端内存

​ 缺点

​ 存在安全风险,数据大小受cookie限制,占用外网带宽

3.session粘滞

​ 优点

​ 无需修改代码,服务端可以水平扩展

​ 缺点

​ 增加新机器,会重新Hash,导致重新登录,应用重启需要重新登录

4.后端集中存储

​ 优点

​ 安全,容易水平扩展

​ 缺点

​ 增加复杂度,需要修改代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值