当你的网站扩展得如此之大以至于你上传的upload_media(在Django中,用户存储的所有上传的媒体文件都存储在这里)不能在一台机器上安装?
我个人的情况是,我使用Django,并有一个超过600GB的存储空间的超大upload_media服务器(但是这个空间已经不多了)。
我已经头脑风暴的可能解决scheme:
1)尝试build立一个更大的存储机器。
2)移动到一个更抽象的系统,其中upload_media的位置和path存储在数据库中(每个文件都有一个数据库ID,该数据库logging存储文件存储在多个uploaded_media服务器上的位置)。
将您的静态媒体移到另一个存储子系统。 这可以采用大型NAS的forms,通过NFS导出到您的networking服务器,或者最好使用像Amazon S3这样的对象存储来存储您的静态媒体。 用正确的咒语,你可以让用户的浏览器直接上传文件到S3。 但是,如果这不在卡片中,则可以在短时间内在本地存储上传的文件,然后定期运行一个作业,并将项目上载到S3(也将数据库更新到正确的位置)。
想到几个选项:
也许可以将上面的一些结合起来(例如,使用GlusterFS上的现有存储和S3来获得无缝的结果 – 但是添加的层数越多,性能越差)。然后,对于主要存储文件,这可能不是主要考虑因素)。