Django集群部署

Django集群部署,django,cluster-computing,Django,Cluster Computing,我在负载平衡器后面有五个节点,我正在尝试为基于Django的站点确定最佳配置 每个节点都可以访问Postgres、mod_wsgi、Apache、Lighttpd、memcached、pgpool2(用于数据库复制)和glusterfs(用于媒体文件复制),并运行Ubuntu 8.04LTS 到目前为止,设置是四个运行Apache/Lighttpd/memcached/pgpool2的节点,所有节点都读/写到一个运行“master”Postgresql的主节点。四个web节点中的每一个都在运行P

我在负载平衡器后面有五个节点,我正在尝试为基于Django的站点确定最佳配置

每个节点都可以访问Postgres、mod_wsgi、Apache、Lighttpd、memcached、pgpool2(用于数据库复制)和glusterfs(用于媒体文件复制),并运行Ubuntu 8.04LTS

到目前为止,设置是四个运行Apache/Lighttpd/memcached/pgpool2的节点,所有节点都读/写到一个运行“master”Postgresql的主节点。四个web节点中的每一个都在运行Postgres,以便通过pgpool从主机进行复制


因此,我的问题是:如果可能的话,您将如何配置此设置和/或更改什么以避免出现单点故障?

此设置在我看来相当不错。我会考虑使用GuniCORN/UWSGI+<强> NGIX<<强>。我还将使用pbbouncer进行基准测试,尽管pgpool2提供了更多现成的功能

这听起来是个不错的设置,尽管很难确切知道您的设置是什么样子。在内存等方面,以及您希望处理的流量方面

您可能想考虑使用Django的多DB支持,并有一个只读的PASGRESE实例(使用DB路由来将读取直接指向某些应用程序的只读)。这可以提供一些相当不错的速度改进——目前,单个postgres实例可能会有一个潜在的瓶颈,这取决于您的数据库工作有多繁重

正如@ashwoods所暗示的,它可能正在调查gunicorn和nginx。我猜现在您使用Apache只是为了运行mod_wsgi?静态文件的lighttpd?有了nginx,您可以将它与许多wsgi服务器一起使用,它也非常适合静态文件