在负载平衡的httpd环境中共享PHP会话

我有两个在RHEL 5.7上运行PHPhttpd服务器。 最初,我使用第三台服务器上的通用NFS共享在服务器之间共享PHP会话。 这导致了缓慢的下降,并最终在httpd服务器上挂断。

在多个httpd前端服务器之间共享PHP会话数据的最佳做法是什么?

供应商build议我通过cookie或源IP来利用负载均衡连接持久性,但是我担心其中一个httpd服务器的故障会导致用户丢失会话数据并被注销(例如)。

思考?

谢谢!

将会话放入(希望复制的)数据库中,或使用复制的memcached服务器进行会话。

这是从我用于各种客户的分离:

它目前是基于ZF的,但是可以很容易地扩展到与其他框架一起工作。 这个想法是同时使用Memcache和MySQL作为备份。 由于它使用ext/memcache (许多人build议坚持2.x稳定),我可以添加多个服务器,扩展复制数据跨越他们。

不是100%确定这是否是最好的想法,你也可以在用户级代码中实现相同的效果。

一个轻量级的testing选项是Scache 。 但是阅读它的介绍,在多服务器环境中使用$ _SESSION时存在locking问题。