MSMQ (MicroSoft Message Queue、Microsoft Message Queue) は、相互に通信する複数のアプリケーション間の相互通信を実装する非同期送信モードであり、同じマシン上に分散することも、接続されたサイバースペース内のどこにでも分散することもできます。その実装原理は次のとおりです。メッセージの送信者は、送信したい情報をコンテナ (メッセージと呼びます) に入れ、それをシステムのパブリック スペースまたはリモート メッセージのメッセージ キュー (メッセージ キュー) に保存します。次に、受信側プログラムは、送信されたメッセージを処理のためにキューから取り出します。
メッセージ受け渡しメカニズムには、2 つの重要な概念があります。 1 つはメッセージで、もう 1 つはキューです。メッセージは、コミュニケーションにおいて双方が送信する必要がある情報であり、テキスト、音声、画像などのさまざまなメディアで使用できます。メッセージの最終的な理解方法は、メッセージ配信に関与する双方によって事前に合意されている必要があります。この方法の利点は、第一に、データの単純な暗号化と同等であること、第二に、独自に定義された形式を使用することです。通信量を節約できます。メッセージには送信者と受信者の ID を含めることができるため、指定されたユーザーだけが自分にのみ配信された情報を確認し、操作が成功したかどうかの受信確認を返すことができます。特定の時間関連アプリケーションの受信者による処理を容易にするために、メッセージには タイムスタンプ を含めることもできます。メッセージには有効期限を含めることもできます。これは、メッセージが指定された時間内に到着しない場合は無効であることを示します。これは主に時間と密接に関係するアプリケーションで使用されます。
メッセージキューは、メッセージの送信と受信のための共通の記憶領域であり、メモリ内または物理ファイル内に存在できます。メッセージは、エクスプレス モード(エクスプレス)と回復可能モード(リカバリ可能)の 2 つの方法で送信できます。これらの違いは、メッセージを迅速に配信するために、エクスプレス モードではメッセージがメモリに保存されることです。より高い処理能力を得るために物理ディスク上に書き込みます。回復可能モードでは、より優れた障害回復能力を得るために、送信プロセスの各ステップでメッセージが物理ディスクに書き込まれます。メッセージ キューは、送信者と受信者が存在するマシン上に配置することも、別のマシン上に単独で配置することもできます。メッセージ配信メカニズムの信頼性は、まさにメッセージ キューの配置における柔軟性によって形成されます。メッセージ キューを保持するマシンに障害が発生し、再起動されると、回復可能モードで送信されたメッセージは障害が発生する前の状態に復元できますが、高速モードで送信されたメッセージは失われます。一方、メッセージパッシングの仕組みを利用すると、送信側は、受信側が起動しているかどうか、故障していないかなど、本質的ではない要素を気にする必要がなくなります。メッセージが正常に送信されていれば、処理は完了します。完了したと見なすこともできますが、実際には相手の電源が入っていない可能性や、実際にトランザクションが完了するのは翌日になる可能性があります。
MSMQ を使用する利点は次のとおりです。非同期通信により、送信者も受信者もコードの残りの部分を実行する前に相手が成功メッセージを返すのを待つ必要がなくなり、処理能力が大幅に向上します。情報の送信プロセス中、情報送信メカニズムには特定の機能的な障害回復機能があり、MSMQ のメッセージ パッシング メカニズムにより、異なる物理プラットフォームを持つ双方が相互に通信できるようになります。
Microsoft の .net プラットフォームが提供する MSMQ 機能を使用すると、メッセージ キューの作成や
削除、メッセージの送受信、さらにはメッセージ キューの管理も簡単に行うことができます。
.NET製品では、MSMQクラスライブラリ「
System.Messaging.dll」が提供されています。これは、メッセージ オブジェクトとメッセージ キュー オブジェクトをそれぞれ操作する 2 つのクラスを提供します。 MSMQ 機能を使用する前に、MSMQ メッセージ キュー コンポーネントがマシンにインストールされていること、およびサービスが実行されていることを確認する必要があります。 ASP.NETプログラミングを使用する場合、ヘッダーで次のように使用する必要があります:
<%@ Assembly Name=”System.Messaging”%>
<%@ Import NameSpace=”System.Messsaging”%>
を使用して、MSMQ クラス ライブラリを ASP.NET ファイルに導入します。
以上がMSMQ とは何かを説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。