2012-03-02 66 views
6

我打算使用cloudfoundry paas服務(來自VMWare)來託管我的node.js應用程序。我已經看到它在服務層和node.js框架中支持mongo和redis。到現在爲止還挺好。cloudfoundry:如何使用文件系統

現在我需要將我的媒體文件(用戶上載的圖像)存儲到文件系統。我有存儲在Mongo中的元數據。

我一直在搜索互聯網,但還沒有得到好的信息。

回答

10

你不能這樣做,原因如下:

  • 有運行應用程序的多臺主機。他們每個人都有自己的文件系統。應用程序中的每個正在運行的進程都會看到一組不同的文件。
  • 運行特定應用程序的主機可能會瞬間改變。事實上,每次重新部署應用程序時,它們都會發生變化。每當新主機上啓動一個進程時,它都會看到一組空文件。每當舊主機上的進程停止時,所有文件都將被永久刪除。

你絕對必須以另一種方式解決這個問題。

  • 將媒體文件存儲在MongoDB GridFS中。
  • 將媒體文件存儲在諸如Amazon S3或Rackspace Cloud Files之類的對象存儲中。
+0

謝謝親愛的。這是一個很好的解釋。你的第二點給了我一些希望。有沒有關於如何將Amazon S3與Cloudfoundry結合使用的文檔?再次感謝您的解釋。 – user644745 2012-03-02 14:52:23

+2

我對Node.js或CloudFoundry並不熟悉,但這裏是[示例](http://www.hacksparrow.com/node-js-amazon-s3-how-to-get-started.html)開始。 – yfeldblum 2012-03-02 17:17:05

+0

太好了。再次感謝。我認爲這是我需要的。諾克斯。 – user644745 2012-03-02 17:48:59

0

大多數雲解決方案中的文件系統是「短暫的」,所以你不能使用FS。你將不得不使用像S3/DB這樣的解決方案。

相關問題