我必须设置负载平衡系统.目前我有两台机器运行Nginx 0.8.52,PHP-FPM(在unix套接字上)和一台基于PHP Symfony 1.4.11的应用程序.
在第三台机器上,我必须选择要安装的平衡器.
我已经使用Varnish进行静态文件缓存,但我不知道Varnish负载平衡是否可以处理Symfony PHP会话.
另一种选择是使用ip_hash进行Nginx负载均衡.
哪一个是最好的?
提前致谢
最佳答案
为什么不兼得?将Nginx放在前面以处理gzip压缩,并在其后面使用SSL和Varnish来处理缓存和负载平衡.后端应用程序将需要在DB或Memcache上进行一些会话共享,如Kristaps所建议的那样,Varnish不会缓存任何使用Cookie或身份验证提供的动态内容,但所有其他内容都可以.
推荐的设置是为您创建一个单独的静态主机名(如static.example.com并从那里提供所有静态内容,without any cookies(Varnish将缓存它,因为没有cookie),另一个用于动态可以通过Nginx或Varnish进行负载平衡的内容,使用cookie进行会话处理,以及如上所述共享会话信息的所有后端.