正如我们过去所做的那样,我想为每个转向负载平衡的人收集有用的信息,因为您的代码必须注意一些问题。
我们从一个 apache 服务器转移到 squid 作为反向代理/负载均衡器,后面有三个 apache 服务器。
我们使用的是 PHP/MySQL,所以问题可能会有所不同。
我们必须解决的问题:
会话
我们从“默认”php 会话(文件)转移到分布式 memcached-sessions。简单的解决方案,必须完成。这样,您也不需要负载均衡器上的“粘性会话”。
缓存
对于每个 Web 服务器的非分布式 apc-cache,我们添加了另一个用于分布式对象缓存的 memcached-layer,并用它替换了所有旧的/过时的文件缓存系统。
上传
上传到共享 (nfs) 文件夹。
我们为速度优化的事情:
静态文件
我们的主 NFS 运行一个 lighttpd,提供(也是用户上传的)图像。Squid 意识到了这一点,并且从不向我们的 apache 节点查询图像,这极大地提高了性能。Squid 还被配置为将这些文件缓存在 ram 中。
你做了什么来让你的代码/项目为负载平衡做好准备,考虑这一举措的人们是否有任何其他顾虑,以及你使用的是哪种平台/语言?