1

大量の揮発性データをメモリに保持するアプリケーションを作成したいと思います。ホストマシンがシャットダウンしたとき、またはメンテナンスの場合に、このデータのごく一部のみを保持する必要があります。停止はまれであるはずです。これはメモリ内のデータにほとんどの時間アクセス可能である必要がありますが、サービスのまれな制限は耐えられます。

サーバー用に開発している場合は、マシンの起動中に確実に実行されるWindowsServiceを作成し、OnStop()メソッドでデータの一部を保持します。

このすべてをクラウドに移行することを考えています。問題は、この観点から、ワーカーの役割がWindowsサービスに類似している場合はどうでしょうか。ほとんどの場合、まれに停止して実行されますか、それとも時々、またはアイドル状態のときにリサイクル/再起動されますか?

4

1 に答える 1

1

Windowsサービスと同様に、ワーカーロールはバックグラウンドタスクを処理するためのものです。ただし、ワーカーの役割はいつでも低下する可能性があることに注意する必要があります。ハードウェア障害またはソフトウェアアップデートが原因である可能性があります。したがって、これが高可用性であると常に想定できるとは限りません。そのため、WindowsAzureではアプリケーションの複数のインスタンスを展開することをお勧めします。

実行できるのは、ワーカーロールの複数のインスタンスを実行し、それらすべてが、揮発性データを配置する共通のキャッシュを共有することです。Windows Azure Caching(http://msdn.microsoft.com/en-us/library/windowsazure/gg278356.aspx)を見てください。ここでは、VM(つまりインスタンス)のメモリの一部をキャッシュ目的に割り当てることができます。キャッシング専用の完全なVMがあります。そうすれば、揮発性データをワーカーロールの外のどこかに置き、すべてのインスタンスで利用できるようになります。

于 2013-02-05T16:17:43.280 に答える