この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
技術チャット
›
RabbitMQ AMQPメッセージアーキテクチャの詳細な説明
眺める:
3645
|
答える:
0
RabbitMQ AMQPメッセージアーキテクチャの詳細な説明
[リンクをコピー]
クズども
掲載地 2022/08/14 23:32:43
|
|
|
|
AMQPプロトコルの紹介
AMQP(Advanced Message Queuing Protocol)は、統一されたメッセージングサービスを提供するアプリケーション層標準プロトコルであり、メッセージ指向ミドルウェア向けに設計されたアプリケーション層プロトコルのオープンスタンダードです。 AMQPは、プロセス間で非同期メッセージを渡すためのネットワークプロトコルです。
このプロトコルに基づくクライアントやメッセージミドルウェアは、異なるクライアントやミドルウェア製品、異なる開発言語に制限されることなくメッセージを配信できます。
AMQPの主な特徴は、メッセージ指向、キューイング、ルーティング(ピアツーピアやパブリッシュ/サブスクライブを含む)、信頼性、そしてセキュリティです。 AMQPはメッセージ提供者とクライアントの動作を強制し、異なるベンダー間の真の相互運用性を可能にします。
AMQPプロトコルの詳細な説明
https://www.itsvse.com/thread-10347-1-1.html
メッセージのルーティング
AMQPアーキテクチャにおいて、成功するメッセージルーティングは以下の3つの部分から成り立っています。
エクスチェンジ:プロデューサーがメッセージを公開する場所
キュー:消費者がメッセージを受け取る場所
バインディング:スイッチから特定のキューへのメッセージのルーティング方法
交換とバインディング
では、メッセージはどのようにしてキューに届くのでしょうか? 消費者にメッセージを届けたい場合、まず交換機に送らなければなりません。 その後、特定のルールやルーティングキーに基づいて、RabbitMQはどのキューにメッセージを配信するかを決定します。
ルール、つまりルーティングキーは、キューをエクスチェンジにバインドすることを可能にします。 RabbitMQはメッセージ内のルーティングキーとバインディングに使われたキーを照合しようとします。 メッセージはファンアウト、トピック、ダイレクト、ヘッダーの4つの交換タイプのいずれかに基づいてキューに配信されます
ファンアウト・エクスチェンジ
このタイプの交換は、受信したすべてのメッセージを割り当てられたすべてのキューにブロードキャストします。 公開されたメッセージに添付されたルーティングキーは無視されます。
トピック交換
このタイプの交換では、メッセージはルーティングキーに基づいてキューに送信されます。 つまり、トピック交換に送られるメッセージは特定のルーティングキーを持たなければならず、それはポイントで区切られた単語のリストでなければなりません(例:'acs.deviceoperations.')。 文言の制限は255バイトです。
バインディングキーはルーティングキーと同じ形式でなければなりません。 したがって、特定のルーティングキーで送信されたメッセージは、対応するバインディングキーを持つ各キューに届けられます。
バインドキーは以下の式ルールを許可します:
*(アスタリスク)は1語のみ置き換えられます
#(ハッシュ)は0語以上の単語を置き換えることができます
キューが「#」(ハッシュ)バインディングキーでバインドされている場合、ルーティングキーに関係なくすべてのメッセージを受け取ります。これはFanoutファンアウト交換と同様にです。
ダイレクトエクスチェンジ
キューが宣言されると、
キュー名をルーティングキーとして使うスイッチに自動的にバインドします
。 ルーティングキーが一致すれば、メッセージは適切なキューに配信されます。
ヘッダー交換
ヘッダースイッチはトピックスイッチにやや似ていますが、トピックスイッチとは異なり、ルーティングはルートキーに基づいており、ヘッダースイッチのルーティング値はメッセージのヘッダーデータに基づいています。
トピックスイッチのルーティングキーは文字列のみであり、ヘッダースイッチは整数とハッシュの両方が可能です。
(終わり)
先の:
AMQPプロトコルの詳細な説明
次に:
[ターン]。 NETパフォーマンス最適化 - リストコレクションを迅速にトラバース
関連記事
•
. NET6における優先度キュー
•
JSはctrl + enterキーの組み合わせを聞きます
•
SSE(1)は ASP.NET コアをSSEサーバーとして使用しています
•
まとめ:RabbitMQはカスタムスイッチとキューを作成します
•
.NET Coreの高性能キューチャネルが使用されています
•
RabbitMQ:誰がキューと交換を作るのか
•
ポストロボットによるブラウザウィンドウ通信の例
•
[WebView2] (4) WebとWinFormは関数メソッドを互いに呼び出します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com