一:通过数据库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
不同应用服务器,session怎么共享
最新推荐文章于 2023-02-06 14:56:02 发布