RabbitMQエクスチェンジ

rabbitmqでは、プロデューサーがメッセージを作成すると、キューに直接送信されず、まずメッセージがエクスチェンジに送信され、その後ルーティングエージェントがそれを読み取り、ヘッダー属性、バインディング、ルーティングキーを使用して適切なキューに送信されます。

RabbitMQ Exchange Types

rabbitmq では、4種類のExchangeがあり、異なる方法でメッセージをルーティングすることが可能です。

以下はrabbitmqで利用できるさまざまなタイプのExchangeです。

  • Direct
  • Fanout
  • Topic
  • Headers

RabbitMQ Direct Exchange

rabbitmqで、ダイレクトExchangeはメッセージルーティングキーに基づいてキューにメッセージを配信します。 直接交換では、メッセージはメッセージのルーティングキーとバインディングキーが正確に一致するキューにルーティングされます。

以下にrabbit直接交換のメッセージフローを図式化したものを示します。

RabbitMQ Direct Exchangeプロセスフロー図

RabbitMQ Fanout Exchange

rabbitmq において、fanout exchangeはそれに結合されているすべてのキューにメッセージをルーティングします。RabbitMQ Fanout Exchangeプロセスフロー図

RabbitMQ Topic Exchange

rabbitmq では、topic exchange はキューにメッセージを発行するためにルーティングキーと結合で指定したルーティングパターン間のワイルドカードマッチを実行します。

RabbitMQ Topic Exchange Process Flow Diagram

RabbitMQ Headers Exchange

rabbitmq において、headers exchange はルーティングにメッセージヘッダー属性を使用します。

RabbitMQ Headers Exchange Process Flow Diagram

次に、Web 管理プラグインを使用して rabbitmq に Exchange を追加する方法を説明します。

RabbitMQ Create Exchange

新しい Exchange を作成するには、最初に rabbtimq Web 管理ポータルを開いてデフォルト資格情報を入力し、Exchanges タブを選択してログインしてください。

RabbitMQ Server Web Management Login Screen

Exchangesタブに移動したら、Add a new exchange panelが表示されますので、そのパネルをクリックして展開すると、以下のような新しいExchange作成用の異なるプロパティが含まれるようになります。

Creating a new exchange in rabbitmq

RabbitMQ Exchange Properties

以下は rabbitmq で新しい Exchange を作成するために入力しなければならない、さまざまなタイプのプロパティです。

Property Description
Name 名前は設定する交換名で、ユニークでなければなりません。
Type 要件に応じて、トピックやファンアウトなど必要な交換タイプを選択できます。
Durability プロパティにより、サーバが再起動してもメッセージを存続させることができます。 Durable を選択した場合、メッセージはサーバーの再起動後も存続します。
Auto Delete 自動削除プロパティを使用すると、割り当てられたキューをアンバインドした場合に、Exchangeが削除できるかどうかを設定することができます。
Alternate-exchange Exchange へのメッセージ送信に問題がある場合、このプロパティを使用すると、キューにメッセージを送信する代替 Exchange を指定することができます。

コメントを残す

メールアドレスが公開されることはありません。