Django负载均衡:如何共享用户媒体?

时间:2011-08-09 14:21:54

标签: django load-balancing

有两个Web服务器为同一个底层数据库的Django应用程序提供服务,我现在可以平衡两个服务器之间的所有请求。

会话存储在数据库中。静态媒体的处理方式与我使用内容分发网络(CDN)的方式相同。

但是如何处理位于接收上传POST的网络服务器的本地文件系统上的用户上传的媒体文件? 显然,第二台服务器会遗漏这些文件。

什么是可靠的解决方案? NFS到某个第三台服务器?不断运行Unison或使用像Mercurial oder git这样的DVCS?

2 个答案:

答案 0 :(得分:3)

  

静态媒体的处理方式与我使用内容传送的方式相同   网络(CDN)。

有你的答案。将用户媒体上载到CDN。查看django-storages以获取S3或Cloudfiles存储后端。

答案 1 :(得分:2)

我个人使用NFS到第三台服务器,然后在请求时直接提供所有媒体。这会将NFS使用量减少到上载阶段,并且可以针对静态资产优化媒体服务器。