web服务器集群(多台web服务器)session同步、共享的3种解决方法

softyun3年前云服务器18

在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是登录状态。所以本文就根据这种情况给出三种不同的方法来解决这个问题:

一、利用数据库同步session

在做多服务器session同步时我没有用这种方法,如果非要用这种方法的话,我想过二种方法:

1,用一个低端电脑建个数据库专门存放web服务器的session,或者,把这个专门的数据库建在文件服务器上,用户访问web服务器时,会去这个专门的数据库check一下session的情况,以达到session同步的目的。

2,这种方法是把存放session的表和其他数据库表放在一起,如果mysql也做了集群了话,每个mysql节点都要有这张表,并且这张session表的数据表要实时同步。

说明:用数据库来同步session,会加大数据库的负担,数据库本来就是容易产生瓶颈的地方,如果把session还放到数据库里面,无疑是雪上加霜。上面的二种方法,第一点方法较好,把放session的表独立开来,减轻了真正数据库的负担

二、利用cookie同步session

session是文件的形势存放在服务器端的,cookie是文件的形势存在客户端的,怎么实现同步呢?方法很简单,就是把用户访问页面产生的session放到cookie里面,就是以cookie为中转站。你访问web服务器A,产生了session把它放到cookie里面了,你访问被分配到web服务器B,这个时候,web服务器B先判断服务器有没有这个session,如果没有,在去看看客户端的cookie里面有没有这个session,如果也没有,说明session真的不存,如果cookie里面有,就把cookie里面的sessoin同步到web服务器B,这样就可以实现session的同步了。

说明:这种方法实现起来简单,方便,也不会加大数据库的负担,但是如果客户端把cookie禁掉了的话,那么session就无从同步了,这样会给网站带来损失;cookie的安全性不高,虽然它已经加了密,但是还是可以伪造的。

三、利用memcache同步session

memcache可以做分布式,如果没有这功能,他也不能用来做session同步。他可以把web服务器中的内存组合起来,成为一个"内存池",不管是哪个服务器产生的sessoin都可以放到这个"内存池"中,其他的都可以使用。

优点:以这种方式来同步session,不会加大数据库的负担,并且安全性比用cookie大大的提高,把session放到内存里面,比从文件中读取要快很多。

缺点:memcache把内存分成很多种规格的存储块,有块就有大小,这种方式也就决定了,memcache不能完全利用内存,会产生内存碎片,如果存储块不足,还会产生内存溢出。

四、总结

上面三种方法都是可行的

第一种方法,最影响系统速度的那种,不推荐使用;

第二种方法,效果不错,不过安全隐患一样的存在;

第三种方法,个人觉得第三种方法是最好的,推荐大家使用

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

云服务器客户端数据备份的解决方案有哪些

云服务器客户端有四种类型的备份解决方案:1. 云服务器客户端中将文件和文件夹简单地传输到另一个设备或位置,实现文件级备份。2. 块级备份速度快,支持复制设备上每份信息,以便出现严重错误时进行恢复。3....

租用香港服务器选择Windows操作系统的优势

目前市面上香港服务器使用最多的操作系统是Windows和Linux这两种,虽然Linux系统是非常受欢迎,但是许多站长则认为Windows系统更具优势。那么,租用香港服务器选择Windows操作系统的...

国外服务器的价格受哪些因素影响

影响国外服务器价格的因素:1. 机房网络接入线路的差异会影响价格的差异,不同的机房及线路会有一定的价格差距。2. 服务器硬件成本决定价格的高低,注意价格低的服务器,了解清楚再购买。3. 带宽大小的选择...

几款免费web应用防火墙(云waf)介绍及测评

众所周知,网站安全防护,对于企业非常重要。2020年HTTPS加密已经普及,传统的防火墙检测功能失效,所以对于网站来说,部署一个WEB应用防火墙十分重要,这方面商业产品很多,开源的也不少,这里经过大量...

国外虚拟主机会存在哪些问题

国外虚拟主机会存在的问题有:1、硬件故障问题,如果主机有问题,所有的虚拟机都会产生问题;2、软件部署问题,要有软件许可才可以部署;3、缺乏虚拟化分区划分的合理标准,没有统一的计算标准;4、支持的操作系...

如何选择高质量的免备案空间

选择高质量免备案空间的方法:1、选择能提供测试服务的机房,根据自身需求选择合适的空间配置;2、了解业务对空间带宽的需求,找提供测试机服务器且支持带宽升级的机房;3、看机房是否提供空间做raid,是否能...