2.2. コンシューマー駆動型のメッセージング
AMQP は コンシューマー駆動型 メッセージングを使用します。従来のポイントツーポイントメッセージングでは、メッセージプロデューサーがメッセージをキューにパブリッシュします。メッセージプロデューサーは、メッセージを受信するキューを把握します。このモデルのキューは、単一のコンシューマーのエンドポイントです。従来の publish-subscribe モデルでは、キューを複数のコンシューマーのエンドポイントとすることができます。キューには、キューに送信されたメッセージの個別コピーを受信するか、または独自のメッセージへのアクセスを共有してラウンドロビン方式で取得できます。AMQP では、メッセージングのすべてのスタイルがサポートされます。単一のコンシューマーまたはコンシューマーに対して既知のキューに直接送信され、コンシューマーはキューでメッセージのコピーを閲覧したり、ラウンドロビン方式でメッセージ固有のインスタンスへのアクセスを共有するように強制したりできます。
AMQP は、メッセージを 交換 に送信する柔軟なアーキテクチャーを使用してこれらのパターンを実装します。交換によって、メッセージが交換にサブスクライブされているキューに分配されます。これにより、以前に説明したモデルをすべて許可し、メッセージ利用者が会話を駆動する機会も提供します。メッセージ生成アプリケーションは、オンラインになり、メッセージプロデューサーのメッセージに関心のある新規アプリケーションを認識する必要はありません。メッセージコンシューマーはキューを作成し、それらを交換にバインドできます。
AMQP には、さまざまな分散メカニズムをサポートする多くの交換タイプがあります。交換にサブスクライブすると、メッセージコンシューマーはキューをメッセージのフィルターとして機能するパラメーターにバインドできます。使用する交換タイプを選択し、バインディングキーを使用してその交換からメッセージをフィルターすることで、AMQP を使用して非常に柔軟で高速で拡張可能なメッセージングシステムを構築できます。