ステップ1:Service Bus Topicを1つとサブスクリプションを3つ作成
最初に、Windows Azureポータルを使用してService Bus Topicを1つ作成します。
“scottgu-ns”名前空間に“scottmessages”というTopicを作成します。
Windows Azure管理ポータルでは、NEWボタンをクリックしてApp Services->Service Bus->Topic->Quick Createオプションを選択するだけで簡単に行えます(これをコマンドラインからプログラム的に作成することも可能です)。
“scottmessages”Topicができると、さらに進めていつものWindows AzureのDASHBOARDで確認できます。
そして、Topicに対して各アプリリスナーに1つずつ、合計3つのサブスクリプションを作成します。それぞれアプリが書かれた言語に対応させて“java”、“python”、“php”という名前にします(注:どんな名前でも構わないのですが、マッピングを明確にするためにこの名前にしました)。
これはプログラム的に行うことも、ポータルのコマンドバーにある“Create Subscription”ボタンをクリックしても行うことも可能です。
これにより、ダイアログが表示されて、作成したいサブスクリプションの名前が指定できます。
ダイアログの2つ目のスクリーンで、データのデフォルト有効時間(どれくらい削除する前にQueueに残しておくか)、ロック、セッションの設定など、独自のサブスクリプションプロパティが設定できます。
OKボタンをクリックすると、Topicに対して、サブスクリプションが作成されます。
これをさらに2回繰り返して、必要な3つのサブスクリプションを作成します。
これが完成すれば、“scottmessages”Topicにデータが投稿されると常に、各サブスクリプションに対して耐久的なキューに入ります。
耐久的なキューに入ると、コンシューマーアプリは、データが投稿された時点に積極的にサブスクリプションを確認する必要がなくなります。
データは自動的にサブスクライバーアプリのキューに入り、接続された時点で処理されます。これにより、非常に強固な疎結合されたアプリケーションアーキテクチャーが可能となり、多くのデータを非常に多くのユーザやアプリケーションに対して処理できるようになります。