7

ユーザーがページを構成し、ページに表示される画像をアップロードできる複数のWebサーバーを持つWebサイトの管理タイプのシステムがあります(CMSに似ています)。レプリカ セットが設定された MongoDB インスタンスが既にある場合、フェイルオーバーが存在するようにこれらのアップロードを格納するための推奨される方法は何ですか?またその理由は何ですか?

  1. Amazon S3 / CloudFront などの CDN。
  2. 画像を MongoDB に保存しますか? 私は今これを行っており、GridFS を使用していません。これは、イメージがすべて 1MB 未満であるためです。
  3. なんらかの種類のフェイルオーバー設定で、ある種の NFS を使用します。#3 の場合、このフェイルオーバーをどのように構成しますか?

私は現在、#2 を問題なく使用しており、以前はフェイルオーバーなしで #3 を使用していました。MongoDB を Web サイトのデータ ストアとして使用し、画像を提供する場合、画像に対するこれらの GET 要求は、DB から画像以外のデータを取得するパフォーマンスに影響を与える可能性がありますか?

4

3 に答える 3

8

画像に対するこれらのGETリクエストは、DBから非画像データを取得するパフォーマンスに影響を与える可能性がありますか?

ええと、より多くの画像リクエスト=あなたのウェブサーバーへのより多くのHTTP接続=より多くのMongoDBからの画像のリクエスト=より多くのネットワークトラフィック。

したがって、はい、DBからより多くの画像データを取得すると、理論的には、非画像データの取得に影響を与える可能性があります。あなたがする必要があるのは、1MBの画像で1000画像/秒を要求することだけです。そうすれば、MongoDBサーバーとWebサーバーの間で大量のネットワークトラフィックが見られるようになります。

これはMongoDBの制限ではなく、ネットワークスループットの制限であることに注意してください。

大量のトラフィックを取得し始めた場合は、CDNをお勧めします。画像を出力するHTTPページがすでにある場合、これは非常に簡単です。

于 2011-04-04T19:35:58.390 に答える
5

MongoDB の前に CDN がないのはなぜですか?

于 2011-04-04T20:01:00.830 に答える
0

共有ファイル システムを使用した Redhat または CentOS クラスタリングは、NFS のフェイルオーバー メカニズムを提供できます。

于 2013-07-08T15:00:40.360 に答える