メッセージキューの概要

メッセージキューフレームワーク(MQF)は、モジュールがキューにメッセージを公開できるようにするシステムです。 また、 消費者 はメッセージを非同期で受信します。 この MQF は、 RabbitMQ メッセージを送受信するためのスケーラブルなプラットフォームを提供するメッセージングブローカーとして。 また、未配信メッセージを保存するメカニズムも含まれています。 RabbitMQ は、Advanced Message Queuing Protocol (AMQP) 0.9.1 仕様に基づいています。

次の図に、メッセージキューフレームワークを示します。

メッセージキューフレームワーク

  • パブリッシャーは、メッセージを取引所に送信するコンポーネントです。 公開先の交換と、送信するメッセージの形式がわかります。

  • 交換機はパブリッシャーからメッセージを受信し、キューに送信します。 ただし RabbitMQ は複数の種類の交換をサポートしていますが、Commerceではトピック交換のみを使用します。 トピックにはルーティングキーが含まれます。ルーティングキーには、ドットで区切られたテキスト文字列が含まれます。 トピック名の形式は、です。 string1.string2:例: customer.created または customer.sent.email.

    ブローカーでは、メッセージ転送のルールを設定する際にワイルドカードを使用できます。 アスタリスク(*)に変更します 1 文字列またはポンド記号(#)を選択して、0 個以上の文字列を置き換えます。 例: customer.* 次の条件でフィルタリングします customer.create および customer.deleteが、ではない customer.sent.email. しかし customer.# 次の条件でフィルタリングします customer.create, customer.delete、および customer.sent.email.

  • キューは、メッセージを格納するバッファです。

  • 消費者がメッセージを受信します。 使用するキューがわかります。 メッセージのプロセッサを特定のキューにマップできます。

基本的なメッセージキューシステムは、を使用せずにセットアップすることもできます RabbitMQ. このシステムでは、MySQL アダプタがメッセージをデータベースに格納します。 3 つのデータベーステーブル(queue, queue_message、および queue_message_status)メッセージキューのワークロードを管理します。 Cron ジョブは、コンシューマーがメッセージを受信できるようにします。 このソリューションは拡張性に欠けます。 RabbitMQ 可能な限り使用してください。

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c