Распределение нагрузки в Django: как делиться пользовательскими медиа - PullRequest
4 голосов
/ 09 августа 2011

С двумя веб-серверами, обслуживающими одно и то же приложение Django с одной и той же базой данных, я теперь могу балансировать все запросы между двумя серверами.

Сеансы хранятся в БД. Статические носители могут обрабатываться так же, как если бы я использовал сеть доставки контента (CDN).

Но как мне обработать загруженные пользователем медиа-файлы, которые находятся в локальной файловой системе веб-сервера, который получает POST для загрузки? Очевидно, что второй сервер пропустит эти файлы.

Что такое надежное решение? NFS на какой-то третий сервер? Постоянно работает Unison или использует DVCS, например Mercurial oder git?

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Статические носители могут обрабатываться так же, как если бы я использовал доставку контента сеть (CDN).

Вот ваш ответ. Загрузите пользовательский носитель в CDN. Оформить заказ django-хранилищ для хранилища S3 или Cloudfiles.

2 голосов
/ 10 августа 2011

Я лично использую NFS для третьего сервера, который затем запрашивает все носители по запросу. Это сокращает использование NFS до фазы загрузки, и медиа-сервер можно оптимизировать для статических ресурсов.

...