2009-12-11 238 views
4

我有一個負載平衡器後面的五個節點,我試圖確定一個基於Django的站點的最佳配置。Django集羣部署

每個節點都可以訪問Postgres,mod_wsgi,Apache,Lighttpd,memcached,pgpool2(用於數據庫複製)和glusterfs(用於媒體文件複製)並運行Ubuntu 8.04LTS。

到目前爲止,該設置是運行的Apache/Lighttpd的/分佈式緩存/ pgpool2四個節點所有的讀/寫運行「主」 PostgreSQL的一個主節點。四個網絡節點中的每一個也運行Postgres,以便通過pgpool從主節點進行復制。

所以,我的問題是:你將如何配置此設置和/或你會改變,以便有沒有單故障點,如果可能的話是什麼?

回答

0

設置對我來說看起來不錯。我會考慮使用gunicorn/uwsgi + nginx。我也會使用pbbouncer進行基準測試,儘管pgpool2提供了更多開箱即用的功能。

1

這聽起來像一個很好的設置,雖然很難確切知道你的設置是什麼樣的。在內存等方面,你期望處理什麼流量。

你可能要考慮使用Django的multidb支持,並有一個只讀比如Postgres的(使用DB路由直接讀取的僅適用於特定的應用程序讀取)。這可以提供一些相當不錯的速度提升 - 目前您可能會在單個postgres實例中存在潛在的瓶頸,具體取決於數據庫的工作量。

由於@ashwoods暗示,它可能是工作尋找到gunicorn和nginx的。我猜你現在只使用Apache來運行mod_wsgi?和lighttpd的靜態文件?使用nginx,您可以將它與多個wsgi服務器一起使用,也可以用於靜態文件。