使用CakePHP进行负载平衡和会话管理

Nic*_*gis 2 php session cakephp load-balancing

关于这个精彩网站的第一个问题;)

注意:我正在使用CakePHP 2.6.2

所以,这是我的问题:我有一个负载均衡器和2个网络服务器.我在这些服务器上放了一个网站,因为负载均衡器没有使用会话粘性(我无法激活它,服务器不是我的),我遇到了会话问题(当平衡器切换我的时候)服务器到另一个).

服务器之间唯一的共享资源是数据库,所以我虽然使用CakePHP数据库会话存储.

但是在这一点上我想知道cakephp中是否有任何内置的解决方案允许在服务器之间切换或复制会话.

谢谢!

Mar*_*ory 6

您可能已经想到,不使用基于文件的会话非常重要.相反,您必须使用基于数据库,redis或基于memcached的会话.

理想情况下,您不希望阻止人们在服务器之间移动.粘性会话似乎是一个很好的解决方案,直到您因某些问题丢失服务器.相反,我发现以无共享架构为目标更好,所有的Web服务器都可以轻松替换.

您可能需要解决的另一件事是文件上传.在多服务器设置中,您不能简单地将上载的文件保存到本地磁盘,因为以下请求可能无法访问同一服务器.相反,我建议您查看blob存储提供程序,如Amazon S3,Azure blob存储和Rackspace云文件.