RabbitMQ のメッセージングモデル
RabbitMQでは、メッセージモデルが以下のように分かれます。
- ポイントツーポイント(Point-to-Pointモデル):メッセージの送信者(Producer)がメッセージをキューに送り、メッセージの受信者(Consumer)がキューからメッセージを取得して消費するモデル。各メッセージは1つのコンシューマにのみ受信される。
- パブリッシュ/サブスクライブモデル。メッセージの送り手は Exchange にメッセージを送信し、Exchange はメッセージをバインドされたすべてのキューにブロードキャストします。各メッセージは複数のコンシューマが受け取ることができます。
- トピックモデル(Topic Model):パブリッシュ/サブスクライブモデルに似ていますが、メッセージの特定のトピック(Topic)に基づいて購読できます。メッセージの送信者はメッセージをスイッチに送信し、トピックを指定します。メッセージの受信者はトピックに基づいてサブスクライブでき、自分の興味のあるメッセージだけを受信できます。
- リモートプロシージャコールモデル(RPC):クライアントアプリケーションがリクエストを送信してレスポンスを待機できるリモートプロシージャコールモデル。クライアントはリクエストメッセージをキューに送信し、サーバーはリクエストメッセージを消費してクライアントにレスポンスメッセージを返します。