1

シンプルなNode.jsアプリがあります。ユーザープロファイルを作成し、各ユーザーが複数の画像をアップロードできます。画像はRackspaceCloudfilesにアップロードされます。

現在、Rackitモジュールを使用しています。

現在の動作方法:

Rackitにファイルを渡します。ファイルはRackspaceCloudfilesにアップロードされ、CDN URLをその画像に返します(画像名はrackitによってハッシュされています)(urlは次のようになります):
http://c15142174.r14.ca2.rackcdn。 com / Y20h30Jd918aHV3pKROzejdq

Rackitは現在、すべての画像を1つのコンテナに保存しています。

私の質問は次のとおりです
。1)各ユーザーの画像を別々のコンテナーに保存する必要がありますか(プライバシー、セキュリティ、および1人のユーザーが別のユーザーを消去できないようにするため)?

2)上記のURL参照をデータベースに保存し、将来そのように参照するだけで十分でしょうか?このURLが変わらないことを期待できますか?

3)ユーザーの画像の前に、画像を特定のユーザーに関連付けるユーザー名またはハッシュを付ける方が理にかなっていますか?

ベストプラクティスのアプローチは何ですか?

ありがとうございました

4

1 に答える 1

3

私は私の質問に非常によく答えたこの素晴らしい記事を参照されました: http ://www.rackspace.com/knowledge_center/content/best-practices-using-cloud-files

私のユースケースの記事を要約すると:

1)複数のコンテナを使用します。1つのコンテナーに多数のイメージがあると、特に同じコンテナーに書き込むことができる頻度が制限されるため、速度が低下します。これは、2人のユーザーが同時に同じコンテナに画像をアップロードしようとしている場合に特に問題になる可能性があります。したがって、ここではユーザーごとに異なるコンテナーが意味をなします。

2)必要に応じて、整理用の疑似フォルダーを使用できます。画像(ラックスペースクラウド内のオブジェクト)に「/user123/ducks/duck_small.jpg」という名前を付けることができます。このシナリオでは、画像の名前は文字列全体(スラッシュを含む)です。

3)画像への参照をデータベースに保存します。コンテナのコンテンツを一覧表示するためにcloudfilesにアクセスすると、データベースからイメージのcdnurlを取得するよりもはるかに遅くなります。

于 2012-07-10T21:39:13.407 に答える