2

大量の画像を保存するアプリケーションを構築しています。GoGrid.com には仮想化環境があり、そのクラウド ストレージを利用したいと考えていました。

これをどのように表現するか正確にはわかりませんが、(コードで) UNC パスと資格情報を指定して画像を配置または取得すると、非常に効率が悪いように見えます (接続、画像の取得、切断)。

大量の画像がある場合、または一度に多くのユーザーがこれを実行している場合、通常のサーバーをひざまずかせてしまうようです.

だから私の質問は、あなたのウェブサイトが実行されている巨大なドライブを除いて、これをどのように達成することを目指すべきですか? 繰り返しになりますが、すべてが 1 つの優れた傘の下にあるため、Amazon S3 ではなく GoGrid クラウド スタージを選択しています。クラウド ストレージには、UNC パスと特定のユーザー名/パスワードを介してアクセスできます。

ありがとう!

4

3 に答える 3

1

C# では、ネイティブ オペレーティング システムのファイル i/o を使用して、ネイティブ パスのように unc パスを使用できます。通常、「接続/取得/切断」は行いませんが、リモート サーバーへの接続が確立されると、ドライブをマップしたかのように保持されます。ドライブ文字がないからといって、接続がないわけではありません。

別の方法として (ゴー グリッドについて何も知らない場合)、ドライブをマップするか、Windows のオフライン ファイル機能を使用して、最も頻繁にアクセスされるファイルをローカルにキャッシュしておくことができます。

于 2011-08-08T04:33:56.740 に答える
0

これまで大量のアクセス サーバーを使用したことはありませんが、UNC パスにアクセスする非常に軽量なものを探しているように思えます。Facebook は、単一の 10 TB ファイルシステムを使用してロード バランシングを行うために、軽量の HTTP 実装とブレード サーバーに基づくアーキテクチャを採用していますが、まだそこまで到達しているようには見えません。接続から得られるものを最大化したい場合は、接続/読み取り/切断の順序で複数のファイルを取得してみてください。これにより、ユーザーは少し長く待たされることに注意してください。Google の場合は 20 ミリ秒遅くなり、ユーザー数が 20% 減少する可能性があります。それを除けば、単にパスにアクセスするよりも高速な方法を知りません。

于 2009-05-21T01:48:04.750 に答える
0

時間の経過とともにファイル アクセス方法を変更する可能性があると思われる場合は、必ず抽象化してください。単純な UNC 実装から始めますが、後で Web サービスまたは REST 実装に変更できます。

于 2009-05-21T01:39:28.447 に答える