この記事の内容は、RabbitMQ を紹介し、RabbitMQ に関連する知識を皆さんに知っていただくことです。一定の参考値があるので、困っている友達は参考にしていただければ幸いです。
RabbitMQ の概要
RabbitMQ
は、高性能の分散メッセージング ミドルウェアです。これは、本質的に配布をサポートし、非常に高いパフォーマンスを備えた言語である Erlang によって書かれています (ただし、使い始めるのは困難です)。
通信コンセプト
RabbitMQ は単なるキュー サービスです。プロデューサーはメッセージを配信し続け、コンシューマーはメッセージを取得し続けます。 。ただし、redis
を使用した List などの単純なキューと比較すると、RabbitMQ のメッセージ配信はより柔軟です。まず、RabbitMQ の通信概念をいくつか理解する必要があります。
#Exchange (エクスチェンジャ)
# Queue (キュー): メッセージ キュー キャリア、各メッセージは 1 つ以上のキューに入れられます。
# バインディング: その機能は、ルーティング ルールに従って交換とキューをバインドすることです。
# ルーティング キー: Exchange は、このキーワードに基づいてメッセージを配信します。
# vhost (仮想ホスト): 異なる vhost の下では、データは完全に分離されます。デフォルトの vhost は "/" です。
# ● Channel (チャネル): 1 つの TCP 接続の下で、複数のチャネルがそれぞれチャネルはセッションタスクを表します。 RabbitMQ の
#Producer
#consumer
Exchange
はルーターに似ており、consumer
はメッセージを配信しませんexchange
はキューに直接送信されますが、exchange
には配信時にルーティング キーに基づいて特定のキューに送信されます。この設計により、メッセージを柔軟にルーティングして特定のタイプのキューに送信し、単なる 1 対 1 ではなく 1 対多の関係を形成できます。
Exchange
RabbitMQ の exchange
は非常に便利で強力です。これにはいくつかのタイプがあります:
●direct
##●fanout##●topic
##●ヘッダー (ほとんど使用されません)direct
エクスチェンジャーは非常に優れています。シンプルです。場合によっては、非常に単純なキューが必要なだけです (メッセージをキューに配信し、その後、そのキューを継続的に消費します)。現時点では、directエクスチェンジャを使用できます。そのルールは次のとおりです: If ルーティング キーが一致する場合、メッセージは対応するキューに配信されます。
fanout
スイッチはルーティング キーを無視し、メッセージ をキューのバッチに同時に送信します 。
トピック
は、さまざまなルーティング キーに基づいて特定の種類のキューにメッセージを送信することです。関連ビデオ チュートリアルの推奨事項: 「PHP チュートリアル
」上記がこの記事の全内容です。皆さんの勉強に役立つことを願っています。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !
以上がRabbitMQとは何ですか? RabbitMQ の簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。