如何正确的负载平衡独立的fastcgi服务器

我们正在运行更大的部署,在Apache2和mod_wsgi下运行多个服务器运行Django应用程序。

我们正在考虑切换到apache2 + fastcgi和移动fcgi进程分开应用程序服务器“层”。

我的问题是:如何在这些多个后端服务器之间做适当的负载平衡? 我最担心的是能够即时添加和删除服务器。

你提出的是可行的; 这听起来像是在重新构buildeins.de用于 Ruby On Rails安装一段时间的架构 。

但是,那就是说,这不是我的第一select。 为什么打扰负载平衡,并通过FastCGI添加/删除服务器,当HTTP是如此无处不在,因为它是? 你相信你会从使用FastCGI而不是HTTP获得哪些好处?

我只是使用HTTP / HTTPS负载平衡器作为第一个服务器,然后向应用程序服务器层说出HTTP。 应用程序服务器可以根据您的喜好使用Apache2 + mod_wsgi + Django或者gunicorn + Django。

有很多好的HTTP负载均衡器可用。 通过这个网站search。 一些常见的开源select是Perlbal,nginx,HAProxy和Apache 2.2(没有特定的顺序)。 还有像Coyote Point,Loadbalancer.org这样的商业设备,或者像EC2的Amazon ELB这样的服务。

我最担心的是能够即时添加和删除服务器。

这是一个很好的观点,无论是closures应用程序服务器,还是完全重新加载负载平衡器configuration。 closuresPerlbal,nginx和HAProxy都可以在运行时重新加载configuration文件; 但是我现在还没有证实这一点。