Хранение файлов в файловой системе при наличии нескольких экземпляров сервера

У меня есть несколько экземпляров сервера Django, обработанных балансировщиком нагрузки. Когда мне нужно увеличить масштаб, я реплицирую клон сервера и добавляю новый экземпляр сервера в балансировщик нагрузки.

Я также использую интерфейс администратора для загрузки файлов конфигурации, которые хранятся локально с использованием FileFields. Это поднимает проблему, потому что экземпляры сервера становятся с состоянием и не все совместно используют одни и те же файлы.

Вот что я спрашиваю:

  • Как правильно хранить файлы, к которым необходимо получить доступ с нескольких серверов?
  • Хранение файлов в БД - хорошая идея?
  • Возможно загрузить на S3?

1 ответ

Существует несколько вариантов, наиболее широко используемый подход заключается в использовании одной из сетевых файловых систем, таких как:

Если вы хотите использовать Amazon S3 для хранения ваших файлов, взгляните на проект RioFS, он позволяет вам монтировать удаленную корзину S3 как локальную папку на ваших серверах.

Другие вопросы по тегам