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

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

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

在做了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。香港服务器的内存。内存太大。会造成硬件资源浪费。...

香港服务器更新操作系统需要注意什么(香港服务器更新操作系统需要注意什么问题)

香港服务器更新操作系统需要注意:1。新系统可能导致一些插件不兼容。从而导致服务器无法...

网站空间容量满了怎么解决(网站空间容量满了怎么解决呢)

网站空间容量满了的解决方法:1。删除不需要的文件。如没用的数据。图片。帖子等;2。升...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注