セールス: 1-800-867-1380

サービス バスのキュー

更新日: 2014年4月

Service Bus キューを介したメッセージング機能では、オンプレミスまたはクラウドで実行される大規模な異種クラスのアプリケーションで、ネットワークおよび信頼境界をまたがるメッセージ交換を柔軟性、安全性、信頼性に優れた方法で行うことができます。

キューは、Azure のレプリケートされた永続的なストアのインフラストラクチャでホストされます。キューの最大サイズは 5 GB です。メッセージの最大サイズは 256 KB ですが、セッションを使用すると、関連する一連のメッセージをサイズ制限なしで作成できます。キューには次の API でアクセスできます。

  1. 新しい Microsoft.ServiceBus.Messaging アセンブリを介して利用できる新しいメッセージング API

  2. 新しい NetMessagingBinding クラスを介して利用できる Windows Communication Foundation (WCF)

  3. Service Bus REST API

キュー エンティティには次の機能があります。

  1. セッション ベースの関連付け。これにより、多重化された要求/応答パスを簡単に作成できます。

  2. PeekLock 受信モードを使用した信頼性が高い配信パターン。

  3. メッセージング操作 (送信および受信) のバッチを個別にコミットできるトランザクションのサポート。

  4. 着信メッセージの重複の検出。これにより、クライアントから同じメッセージを複数回送信しても、問題になることがありません。

  5. 処理できないメッセージや受信前に期限切れになったメッセージを配信不能にする機能。

  6. 処理を後回しにするためのメッセージの遅延 この機能は、特に次の場合に役立ちます。

    1. 想定と異なる順序でメッセージを受信したときに、処理を続行できるよう特定のメッセージを待機する間、受信メッセージを保存しておく必要がある場合。

    2. トラフィック ピーク時に優先順位を定義する一連のプロパティに基づいてメッセージを処理する必要がある場合。

.NET API では、BrokeredMessage クラスによりメッセージ エンティティがモデル化されます。このクラスは、自動重複検出やセッション対応通信などの機能を活用するために使用できるプロパティ (MessageIdSessionIDCorrelationId など) を公開します。QueueDescription オブジェクトは、作成するキューの動作をモデル化するメタデータを指定するために使用できます。

  1. DefaultMessageTimeToLive プロパティでは、メッセージの有効期限の既定値を指定します。

  2. DuplicateDetectionHistoryTimeWindow プロパティでは、重複検出の履歴を保持する期間を定義します。

  3. EnableDeadLetteringOnMessageExpiration プロパティでは、期限切れのメッセージを配信不能にする機能を有効にするか無効にするかを指定できます。

  4. LockDuration プロパティでは、PeekLock 受信モードの使用時にコンシューマーが使用するロックの期間を定義します。ReceiveAndDelete 受信モードでは、メッセージがコンシューマーによって読み取られるとすぐにキューから削除されます。これに対して、PeekLock 受信モードでは、LockDuration プロパティによって定義されたタイムアウトに達するまで、メッセージは他の受信者に対して非表示になります。その時間までに、受信者は、BrokeredMessage オブジェクトに対して Complete メソッドを呼び出してメッセージを削除しておく必要があります。

  5. MaxSizeInMegabytes プロパティでは、最大キュー サイズ (MB) を定義します。

  6. RequiresDuplicateDetection プロパティでは、重複メッセージの検出を有効にするか無効にするかを指定します。RequiresSession プロパティでは、セッションを有効にするか無効にするかを指定します。

  7. MessageCount プロパティは、キュー内のメッセージ数を示します このプロパティは非常に便利です。インテリジェント システムではこの値に基づいて、キューからメッセージを同時に受信して処理する競合コンシューマーの数を増やすか減らすかを決定できるからです。

Warning警告
これらのプロパティの一部は、UpdateQueue または UpdateTopic API を使用するか、PowerShell/コマンドライン呼び出し (Service Bus for Windows Server の場合) を使用することによって修正できます。

キューを使用することで、さまざまに変化するトラフィックを予測可能なワーク ストリームに平坦化し、着信メッセージの量に応じてサイズが動的に変わる一連のワーカー プロセスに負荷を分散できます。競合コンシューマーのシナリオでは、パブリッシャーがキューにメッセージを書き込むと複数のコンシューマーがメッセージを受信しようとしますが、各メッセージを実際に受信して処理するのはそのうちの 1 つだけです。

複数の異種システムで構成されるサービス指向アーキテクチャまたはサービス バス アーキテクチャでは、自律的なシステム間のやり取りは非同期に行われ、疎結合の状態になります。キューおよびトピック (次のセクションを参照) などのメッセージング エンティティを使用すると、アーキテクチャ全体の俊敏性、スケーラビリティ、柔軟性が高まり、個々のシステムの疎結合を緩和するのに役立ちます。

関連項目

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2014 Microsoft