MSMQ とは何かを説明する

Mar 31, 2017 am 11:46 AM

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C# を使用した Active Directory C# を使用した Active Directory Sep 03, 2024 pm 03:33 PM

C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# シリアル化 C# シリアル化 Sep 03, 2024 pm 03:30 PM

C# シリアル化のガイド。ここでは、C# シリアル化オブジェクトの導入、手順、作業、例についてそれぞれ説明します。

C# の乱数ジェネレーター C# の乱数ジェネレーター Sep 03, 2024 pm 03:34 PM

C# の乱数ジェネレーターのガイド。ここでは、乱数ジェネレーターの仕組み、擬似乱数の概念、安全な数値について説明します。

C# データ グリッド ビュー C# データ グリッド ビュー Sep 03, 2024 pm 03:32 PM

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

C# のパターン C# のパターン Sep 03, 2024 pm 03:33 PM

C# のパターンのガイド。ここでは、C# のパターンの概要と上位 3 種類について、その例とコード実装とともに説明します。

C# の素数 C# の素数 Sep 03, 2024 pm 03:35 PM

C# の素数ガイド。ここでは、C# における素数の導入と例を、コードの実装とともに説明します。

C# の階乗 C# の階乗 Sep 03, 2024 pm 03:34 PM

C# の Factorial のガイド。ここでは、C# での階乗の概要について、さまざまな例とコード実装とともに説明します。

マルチスレッドと非同期C#の違い マルチスレッドと非同期C#の違い Apr 03, 2025 pm 02:57 PM

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

See all articles