Web サイトをホストしているクラウドサービスで 2 つの Azure インスタンスを実行しています。
ファイルをフォルダーにアップロードすると、インスタンスの 1 つに保存されます。ロードしようとすると、Azure が間違ったインスタンスを選択すると、ファイルが見つかりません。これを解決するにはどのようなオプションが必要ですか?
ファイルをブロブ ストレージに保存することを考えましたが、この方法で保存できれば、時間を節約できます。
Web サイトをホストしているクラウドサービスで 2 つの Azure インスタンスを実行しています。
ファイルをフォルダーにアップロードすると、インスタンスの 1 つに保存されます。ロードしようとすると、Azure が間違ったインスタンスを選択すると、ファイルが見つかりません。これを解決するにはどのようなオプションが必要ですか?
ファイルをブロブ ストレージに保存することを考えましたが、この方法で保存できれば、時間を節約できます。
質問で述べたように、ブロブ ストレージに保存する必要があります。その理由はいくつかあります。
stateless by nature
. つまり、VM がダウンすると、その VM で行った操作 (ファイルの保存など) はすべて失われます。一方、ブロブ ストレージは永続ストレージであり、単純な http プロトコルを介してアクセスできます。したがって、ユーザーがファイルをアップロードすると、そのファイルは BLOB ストレージに保存されます。ユーザーが要求すると、ブロブ ストレージからブロブを提供するだけです。
更新 - 以下のコメントに基づく
最初のコメントについては、引き続きブロブ ストレージを使用できます。できることは、一時ファイルを保持する BLOB コンテナーを作成することです。ユーザーがすべての手順を完了したら、それらを別のコンテナー (永続コンテナーと呼びましょう) に移動できます。あるコンテナーから別のコンテナーに BLOB をコピーするために、BLOB を VM にダウンロードする必要さえありません。Windows Azure は、あるコンテナーから別のサーバー サイドに BLOB をコピーするサーバー サイドの非同期コピーをサポートしています。
2 番目のコメントについては、負荷分散ポリシーを変更できないと思います。スティッキーセッションを実装するというものがありApplication Request Routing (ARR)
ますが、残念ながら私はそれに慣れていません。あなたはそれを調べたいと思うかもしれません。
VM を使用していますね。Azure Websites への切り替えがオプションである場合、アプリケーション ファイル/画像は 1 つの共有ネットワーク ドライブに配置され、すべてのインスタンスで常に利用できます。http://azure.microsoft.com/en-us/documentation/videos/web-sites-internals-and-the-file-system/