次のことを行うAzureアプリケーションを作成したいと思います。
- ユーザーには、コマンドのリストを表示するMVC 4 Webサイト(Webロール)が表示されます。
- ユーザーがコマンドを選択すると、そのコマンドはすべてのワーカーロールにブロードキャストされます。
- ワーカーロールはタスクを処理し、結果を保存し、Webロールに通知します
- Webロールは、ワーカーロールの結果を組み合わせて表示します
私が読んでいることから、これを行うには2つの方法があるようです。WindowsAzureServiceBusまたはキューの使用です。各ワーカーロールは、結果もデータベースに保存します。
Service Busは、パブリッシュ/サブスクライブモデルの方が適切であるように思われるため、すべてのワーカーロールが同じコマンドをほぼ同時に取得します。ただし、キューは使いやすいようです。
開発時にエミュレータでサービスバスをローカルで使用できますか?私は無料トライアルを使用していますが、開発中はアプリケーションを継続的に維持できません。また、キューを使用する場合、処理が完了したことをWebロールに通知するにはどうすればよいですか?