如同我们之前做的那样,我想整理有用的信息,为每个转向负载均衡的人收集有用信息,因为在这个过程中会涉及到一些问题,你的代码必须要意识到这些问题。
我们从一个 Apache 服务器移动到使用 Squid 作为反向代理/负载均衡器,并且后面有三个 Apache 服务器。
我们正在使用 PHP/MySQL,因此问题可能会有所不同。
我们需要解决的问题:
会话
我们从“默认”的php会话(文件)移动到了分布式 memcached 会话。这是一个简单的解决方案,必须完成。这样,您也不需要在负载均衡器上使用“粘性会话”。
缓存
对于每个 Web 服务器,我们都添加了另一个 memcached 层来进行分布式对象缓存,并将所有旧的/过时的文件缓存系统替换为它。
上传
上传到共享(nfs)文件夹。
我们优化速度的方法:
静态文件
我们的主要 NFS 运行着 lighttpd,并提供服务(用户上传)的图片。Squid 意识到这一点,并且永远不会查询我们的 Apache 节点以获取图像,这为性能提升带来了很大的好处。Squid 还配置了将这些文件缓存在内存中。
你们采取了哪些措施使项目/代码适应负载均衡,对于考虑进行此移动的人还有什么其他问题,您使用的是什么平台/语言?