分布式Session问题

博客讨论了在分布式环境中遇到的Session问题,当用户从一个Tomcat服务器跳转到另一个时,用户信息无法共享。提出了四种解决方案:Session复制、前端储存、Session粘滞和后端集中储存(如Redis)。每种方案都有其优缺点,如复制占用带宽,前端储存安全性低,粘滞可能导致重新登录,而Redis则增加了复杂性但提供了更好的扩展性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我们登录时,会经过Nginx转发到Tomcat1上,此时Tomcat1上有我们的用户信息,过了一段时间我们可能会跳转到其他界面,这时分发到Tomcat2,而Tomcat2上没有用户信息,这就是分布式Session问题

解决方案:

1.Session复制

优点:无需修改代码,只需要修改Tomcat配置

缺点:

1.session同步传输占用内网带宽;

2.多台Tomcat同步性能指数级下降;

3.Session占用内存,无法有效水平扩展;

2.前端储存

优点:不占用服务端内存

缺点:

1.安全性低

2.数据的大小受cookie限制

3.占用外网带宽

3.session粘滞

优点:

1、无需修改代码;

2、服务端可以水平扩展;

缺点:

1.需要增加新机器,会重新Hash,导致重新登录;

2.应用重启,需要重新登录

4.后端集中储存(利用redis)

优点:安全、容易水平扩展

缺点:增加复杂度、需要修改代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值