cloudfoundry: как использовать файловую систему - PullRequest
6 голосов
/ 02 марта 2012

Я планирую использовать облачный сервис Paas (от VMWare) для размещения моего приложения node.js. Я видел, что он поддерживает mongo и redis в сервисном слое и инфраструктуре node.js. Пока все хорошо.

Теперь мне нужно сохранить свои медиафайлы (изображения, загруженные пользователями) в файловую систему. У меня есть метаданные, хранящиеся в Монго.

Я искал в интернете, но пока не получил хорошей информации.

Ответы [ 2 ]

10 голосов
/ 02 марта 2012

Вы не можете сделать это по следующим причинам:

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

Вы обязательно должны решить эту проблему по-другому.

  • Хранить файлы мультимедиа в MongoDB GridFS.
  • Храните файлы мультимедиа в хранилище объектов, таком как Amazon S3 или Rackspace Cloud Files.
0 голосов
/ 17 апреля 2012

Файловая система в большинстве облачных решений «эфемерна», поэтому вы не можете использовать FS. Для этой цели вам придется использовать решения типа S3 / DB

...