MSMQ とも呼ばれるメッセージ キューは、Microsoft Windows 用の分散メッセージング アプリケーションを作成するためのメッセージ インフラストラクチャおよび開発ツールです。メッセージ キュー用に開発されたアプリケーションによって、一時保管場所であるキューにメッセージが送信されます。メッセージは、条件が合えば一時保管場所から最終的な宛先に渡されます。このようなアプリケーションでは、異種ネットワークを対象とした通信が可能で、一時的に相互接続できない状態にあるコンピューター間でメッセージを送信できます。メッセージ キューには、次のような利点があります。

  • メッセージの確実な配信

  • 効果的なルーティング

  • セキュリティの向上

  • トランザクション内のメッセージ送信のサポート

  • 優先順位に基づいたメッセージ通信

このような機能を備えたソフトウェア製品は、業界では通常次のように呼ばれます。

  • メッセージ キュー ソフトウェア

  • ストア アンド フォワード ソフトウェア

  • メッセージ指向ミドルウェア

エンド ユーザーは、メッセージ キューを使用することにより、オフラインになる可能性があるネットワーク間やコンピューター間で、ネットワークやコンピューターの現在の状態に関係なく通信することができます。システム管理者は、メッセージ キューを使用することにより、コンピューターとメッセージ キューから構成される大規模で複雑なネットワークを効率的に管理できます。

このトピックでは、メッセージ キューで利用できる機能について説明します。

メッセージ キュー サーバー

この機能はメッセージ キューのコア コンポーネントであり、これによって基本的なメッセージ キューの機能を実行できます。メッセージ キュー サーバー機能の詳細については、メッセージ キューに関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=93512) を参照してください。

ディレクトリ サービス統合

キューのプロパティを Active Directory に公開したり、Active Directory に登録された証明書を使用して既定の方式でメッセージの認証と暗号化を行ったり、Windows サイト間でメッセージをルーティングできるようにするための機能です。ディレクトリ サービス統合機能の詳細については、ディレクトリ サービス統合の機能に関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=93513) を参照してください。

メッセージ キュー トリガー

特定のキュー内の着信メッセージに対して定義されたフィルターに応じて、COM コンポーネントまたは実行可能ファイルを起動できるようにする機能です。メッセージ キュー トリガー機能の詳細については、トリガーの概要に関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=93514) を参照してください。

HTTP サポート

HTTP 経由でメッセージを送受信するための機能です。HTTP サポート機能の詳細については、インターネット メッセージに関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=93515) を参照してください。

マルチキャスト サポート

マルチキャスト IP アドレスへのマルチキャスト メッセージをキューに挿入し送信できるようにする機能です。マルチキャスト サポート機能の詳細については、IP マルチキャストに関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=93516) を参照してください。

ルーティング サービス

異なるサイト間およびサイト内でメッセージをルーティングする機能です。ルーティング サービス機能の詳細については、メッセージ キューのルーティングに関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=93517) を参照してください。

メッセージ キュー DCOM プロキシ

MSMQ DCOM API をリモートのメッセージ キュー サーバーに接続できるようにする機能です。

サブキュー

この機能を使用することにより、物理キューを新たに作成しなくてもキュー内のメッセージを論理的にグループ化できるようになります。サブキューは、暗黙的に作成されるローカル キューで、物理キューを論理的に分割したものです。アプリケーションは、サブキューを使ってメッセージをグループ化できます。

メッセージの移動

メッセージを移動するには、次の 3 とおりの方法があります。

  • [メッセージの移動] ダイアログ ボックスを使用する。

  • カット アンド ペースト操作を実行する。

  • ドラッグ アンド ドロップ操作を実行する。

同じメイン キューのサブキュー間で、またはメイン キューからそのサブキューにメッセージを移動できます。メッセージをメイン キューから別のメイン キューのサブキューに移動したり、2 つのメイン キュー間で移動したり、異なるメイン キューの 2 つのサブキュー間で移動したりすることはできません。

メッセージは、移動元のキューから移動先のキューにそのまま移動されます。現在の移動の回数を除き、メッセージのプロパティは変更されません。

アプリケーションごとの配信不能キュー

メッセージ キュー 4.0 にはアプリケーションごとの配信不能キューが導入されたため、各アプリケーションは固有の配信不能キューを使用できます。アプリケーションが固有の配信不能キューを要求するには、PROPID_M_DEADLETTER_QUEUE プロパティをメッセージの一部として使用します。これにより、システム トランザクション配信不能キューではなく PROPID_M_DEADLETTER_QUEUE プロパティで指定されたキューにメッセージが送信されます。

PROPID_M_DEADLETTER_QUEUE には、トランザクション キューの任意の有効なパスを設定できます。トランザクション キューは、否定受信確認 (NACK) メッセージをキューに移動するキュー マネージャーに対してローカルである必要があります。有効なパスは、キューのパス名に関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=69583) で定義されています。

トランザクションのリモート受信

トランザクションのリモート受信とは、リモート キューからのメッセージのトランザクション受信のことです。トランザクションのリモート受信を必要とするシナリオがあります。たとえば、リモート セントラル キューからの作業指示を複数のアプリケーション サーバーのファームで処理する必要がある場合にトランザクションのリモート受信を使用すると、メッセージの処理をサーバー ファーム全体に負荷分散できます。

メッセージ キューの多数のキューを処理する機能

Windows 7 および Windows Server 2008 R2 と共にリリースされたメッセージ キュー 5.0 には、以下の新機能が導入されています。

メッセージ キュー 5.0 では、メッセージ キュー 4.0 よりも非常に多数のキューを処理する機能があります。メッセージ キュー 4.0 でも、作成できるキューの数に特定の制限が設けられていたわけではありませんが、数千単位でキューが作成された場合にパフォーマンスに悪い影響が見られました。特に、非常に多数のキューをメモリに読み込むときに、使用されているキュー参照アルゴリズムが原因で、メッセージ キュー 4.0 サービスの起動時間が大幅に長くなっていました。メッセージ キュー 5.0 では、起動時に使用されるキュー参照アルゴリズムが最適化されており、非常に多数のキューをシステムでホストする場合のメッセージ キューの起動パフォーマンスが大幅に向上しています。

その他の参照情報

メッセージ キュー機能に関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=93518)


目次