Windows Azure Service Bus(トピックとキュー)を使い始めたばかりで、競合するコンシューマーのメッセージングパターンを実装しようとしています。
基本的に、一連のメッセージプロデューサーと一連のメッセージコンシューマーが必要です。メッセージが生成されたら、最初に利用可能なコンシューマーにメッセージを処理してもらいたい。他の消費者はメッセージを受け取るべきではありません。
Azureでこれを行う方法はありますか?
Windows Azure Service Bus(トピックとキュー)を使い始めたばかりで、競合するコンシューマーのメッセージングパターンを実装しようとしています。
基本的に、一連のメッセージプロデューサーと一連のメッセージコンシューマーが必要です。メッセージが生成されたら、最初に利用可能なコンシューマーにメッセージを処理してもらいたい。他の消費者はメッセージを受け取るべきではありません。
Azureでこれを行う方法はありますか?
単純。1 つのキューから同時に受信する 2 つ (またはそれ以上) のレシーバーを作成するだけで完了です。メッセージが取得されるとメッセージログ上のカーソルが進むため、取得されたメッセージはいずれかの受信者に送信されます。競合するコンシューマーは、ネットワーク化されたキューに固有の機能であるため、特別なことは何も必要ありません。
逆に、各メッセージが各コンシューマに送信される場合は、コンシューマごとにサブスクリプション オプションを作成します。これにより、他の受信者から独立して移動できるメッセージ ログ上で分離されたカサーが得られます。キックについては、明らかに、サブスクリプションで競合する消費者を持つこともできます.
クレメンス
トピックは仲介型メッセージングの機能ですが、1 対多の「発行/購読」パターンです。キューは 1 対 1 のメッセージ通信です。そうです、単純にキューを使用する必要があるようです。http://msdn.microsoft.com/en-us/library/hh689723(VS.103).aspxも参照してください。
おそらく、トピックではなく、Brokered Messagingが必要です。
PeekLock受信モードと共にメッセージの Label プロパティや Content Type プロパティを使用することで、ブローカード メッセージングでトピックのような機能をエミュレートできます。