Лучший способ хранить и обслуживать статический контент оптом
У меня есть приложение, которое генерирует статические страницы. скажем примерно 10 страниц HTML / мин. Эти страницы будут обслуживаться пользователям. На стороне сервера я использую Django в качестве среды разработки с Gunicorn для запуска своего сервера приложений и использую Nginx в качестве "обратного прокси".
С этим стеком у меня мало сомнений относительно моего дизайна для хранения и обслуживания контента. Также я не уверен, приведет ли мой подход к каким-либо потерям производительности, о которых я сейчас не могу догадаться. Вот мои мысли по этому поводу:
Место хранения
Я думаю о плоской файловой системе для хранения контента. Который будет храниться в соответствии с отметкой времени, чтобы я мог очистить / удалить их в будущем, если срок действия содержимого истек или не требуется. Таким образом, путь для типичного файла будет выглядеть /var/www/project/content/timestamp/file/path
,
Я также проверил Django Flatpages (приложение доступно в Django), которое позволяет легко поддерживать плоские страницы с помощью панели администратора и API. Но это выглядит более перспективным,
- Фиксированное количество страниц и
(for me, it's huge and varying)
- Если у вас есть какие-либо требования к редактированию страниц.
(I don't need this)
порция
Для обслуживания контента я планирую открыть папку '/var/www/content/' Nginx, чтобы она могла напрямую обслуживаться Nginx без каких-либо задержек с сервера приложений. В случае, если я вижу какой-либо удар по производительности. Я могу использовать статический движок для кеширования файлов, например, Varnish.
Любое предложение или мысль будут полезны. Спасибо..
1 ответ
Я бы, вероятно, снял с себя ответственность за хранение этих статических файлов на S3 и обслуживание их через CloudFront.