6

我打算使用 cloudfoundry paas 服务(来自 VMWare)来托管我的 node.js 应用程序。我已经看到它在服务层和node.js框架中支持mongo和redis。到目前为止,一切都很好。

现在我需要将我的媒体文件(用户上传的图像)存储到文件系统中。我将元数据存储在 Mongo 中。

我一直在网上搜索,但还没有得到很好的信息。

4

2 回答 2

10

由于以下原因,您不能这样做:

  • 有多个主机运行您的应用程序。他们每个人都有自己的文件系统。应用程序中的每个正在运行的进程都会看到一组不同的文件。
  • 运行您的特定应用程序的主机可以随时更改。事实上,每次您重新部署应用程序时,它们都会发生变化。每次在新主机上启动进程时,它都会看到一组空文件。每次在旧主机上停止进程时,所有文件都将被永久删除。

你绝对必须以另一种方式解决这个问题。

  • 将媒体文件存储在 MongoDB GridFS 中。
  • 将媒体文件存储在 Amazon S3 或 Rackspace Cloud Files 等对象存储中。
于 2012-03-02T14:34:31.610 回答
0

大多数云解决方案中的文件系统都是“短暂的”,因此您不能使用 FS。为此,您将不得不使用 S3/DB 等解决方案

于 2012-04-17T17:55:42.477 回答