不同应用服务器,session怎么共享

一:通过数据库mysql共享sessionid
方法一:将所有的session_id都保存在mysql数据库中,每一次请求来的时候都去检查数据库里面sessionid的情况,达到sessionid同步的目的
方法二:将sessionid的表跟所有的表放在一起,如果mysql做了主从,需要每一个数据库都存在这张表,并且时时同步
优缺点:以上两种方法,方法一比较好,分离了session表和业务表,减少了数据库的压力,mysql是基于磁盘的数据库,读写本来就比较慢,如果读写频繁的话,效率也很低,因此并不推荐这种办法。
二.通过cookie共享session
将用户访问页面产生的session信息放在cookies中,以cookie为中转站
当用户访问A服务器时,生成session信息并且保存在cookie中,当用户访问分配到服务器B时,先检查服务器有没有session信息,如果没有的话,就把cookie里面的session信息同步到服务器B
缺点:cookie共享session,安全性不高,被拦截或者伪造的可能性增大,如果客户端禁止使用cookie,都有可能无法共享session
三.通过服务器同步共享session
使用一台服务器作为登录服务器,当登录成功后,我们可以使用脚本或者守护进程将session信息同步到其它服务器,这样其它服务器也有session信息了,可以保持登录状态了。
缺点:同步服务器的速度很慢,可能等到下一次分发访问后还没同步完,而且一旦登录服务器宕机之后,整个系统都不能运行
四.通过NFS共享session
NFS(net

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值