2012-01-29 15 views

答えて

5

最もスケーラブルな解決策は、Amazon S3(または独自のクラフト)などの共有ストレージサービスを使用することです。

これにより、移行の悪夢を心配する必要がないため、アプリケーション層にマシンを追加する際に、水平方向にずっと簡単に拡大縮小することができます。

この背後にある基本的な考え方は、ストレージレイヤーをアプリケーションレイヤーから切り離しておくことです。したがって、このアイデアを使用すると、ファイルアップロードを受け入れてディスクに書き込む別のマシンにnode.jsプロセスを作成することができます。

+0

OPは、Amazonについて広告を要求しません。 MongoDBは、長期的にはAmazonへの支払い費用の一部でも拡張可能です。しかし、問題はMongoDBとファイルシステムです。 –

2

シャーディングを利用するにはGridFSを使用しますが、最高のパフォーマンスを得るにはnginxでファイルシステムを使用します。

3

パフォーマンスに影響を受けやすいシステムを設計する場合は、ファイルシステムを使用して画像を保存してください。

あなたはパフォーマンスがこのブログから比較を見つけることができます。 http://blog.thisisfeifan.com/2013/12/mongodb-gridfs-performance-test.html

実は、あなたがお勧めのMongoDB GridFSは、ここに例を使用して見つけることができます: https://docs.mongodb.com/manual/core/gridfs/#when-to-use-gridfs

関連する問題