Ответ - да. В старые времена пещерного человека на серверах были изменяемые файловые системы, которые вы могли изменить. Это было здорово, пока мы не попытались масштабировать вещи.
Cave-people в настоящее время создают приложения с неизменными развертываниями . Heroku и Dokku являются примерами этого. Поскольку сервер веб-приложений не имеет состояния, их можно легко создавать, обновлять, масштабировать и уничтожать.
Поскольку у нас все еще есть файлы, нам нужно их где-то поместить. Есть несколько решений: nfs, наша база данных, кто-то еще использует базу данных.
nfs - это «сетевая файловая система», которая позволяет вам выполнять файловый ввод / вывод на сетевых ресурсах. Если вы в любом случае имеете дело с сетью, ИМХО, это не принесет особой пользы, если только это не то, что вы уже знаете.
Наша база данных - Для MongoDB есть два варианта : (файл> 16 МБ)? GridFS: BinData
Кто-то использует базу данных - Некоторые являются базовыми, например Amazon S3 , а некоторые предлагают дополнительные услуги, такие как Cloudinary или Dropbox.
Если вы работаете в высокобюджетной корпоративной команде и кто-то проводит 40 часов в неделю, заботясь о серверах, тогда обязательно используйте файловую систему. Если вы создаете веб-приложения такого масштаба, размещение файлов в БД имеет смысл.
Если вы беспокоитесь о производительности:
1) Использование прокси (например, nginx) или CDN для размещения вашего контента для клиентов. Ваш сервер должен просто обслуживать ошибки кэша.
2) Использование потокового ввода-вывода В Nodeschool есть классное руководство для Node.js .