2013-08-26 13 views
6

の新しいインスタンスを起動しますか? 私はそれがメッセージをつかみ、テーブルストレージ、SQLデータベースにデータを置くと通知を送信し、いくつかのサービスバスキュー(複数可)に依存しますWorkerロールを持っています。私は将来的に大量のメッセージを徐々に受け取ることができるので、SBのキューサイズに応じてインスタンスを追加する必要があります。私のコードからこれを制御することは可能でしょうか?そして、その場合、どのように?は、プログラム、プログラムWorkerロールの新しいインスタンスを起動することは可能ですWorkerロール

答えて

9

この機能を達成するために、複数の方法があります。

1)は、Windows Azureでは、サービスバスキュー内のメッセージの量に基づいて、自動スケーリングをサポートしています。 Azure Management Portalの内部で動作するようにスケーリングを設定するだけで済みます。ベータ版では現在無料ですが、ライブ版の価格はまだ発表されていません。

2)マイクロソフトのパターンとプラクティスグループからWASABiと呼ばれるオープンソースのAPIがあります。あなたはそれをホストするための場所が必要になりますが、それはあなたに代わってAzureのサービス管理APIと通信し、サービスバスキューに基づいて、独自の自動スケーリングを実行するためのフレームワークを提供します。

3)サードパーティ製の製品&サービスを使用しても構わない場合は、AzureWatchというサービスがあります。これは、私が提携しているサービスです。 Azure Portalのようにサービスバスのキューに基づいてスケーリングを行う方法もありますが、他にも選択肢、機能、サービスがたくさんあります。

4)Service Management APIを直接使用してインスタンス数を変更することはできますが、実際にはWASABiなどのAPIで直接使用することはお勧めできません。

私は最近、自動スケーリングの選択についてブログを書いた。http://blog.paraleap.com/post/2013/07/29/Windows-Azure-Auto-scaling-Options-Side-by-Side-Comparison

関連する問題