【问题标题】:Django cluster deploymentDjango 集群部署
【发布时间】:2009-12-11 13:14:11
【问题描述】:

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

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

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

所以,我的问题是:如果可能的话,您将如何配置此设置和/或进行哪些更改以便不出现单点故障?

【问题讨论】:

    标签: django cluster-computing


    【解决方案1】:

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

    您可能需要考虑使用 Django 的 multidb 支持并拥有一个只读的 postgres 实例(使用 DB 路由将读取定向到某些应用程序的只读)。这可以提供一些相当不错的速度改进 - 目前您可能会在单个 postgres 实例上遇到潜在的瓶颈,具体取决于您的数据库工作量。

    正如@ashwoods 建议的那样,它可能正在研究 gunicorn 和 nginx。我猜你现在只使用 Apache 来运行 mod_wsgi?静态文件的 lighttpd 是什么?使用 nginx,您可以将它与许多 wsgi 服务器一起使用,并且它也非常适合静态文件。

    【讨论】:

      【解决方案2】:

      设置对我来说看起来不错。我会考虑使用 gunicorn/uwsgi + nginx。我也会使用 pbbouncer 进行基准测试,尽管 pgpool2 提供了更多开箱即用的功能。

      【讨论】:

        猜你喜欢
        • 2021-09-28
        • 1970-01-01
        • 1970-01-01
        • 2015-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多