5.12. AMQP リアクティブサンプルの仕組み


この例の機能があるメッセージング統合パターンは、2 つのキューとブローカーを持つ Publisher-Subscriber パターンです。

  • Request キューは、テキスト文字列プロセッサーによって処理される Web インターフェイスを使用して入力する文字列を含む HTTP リクエストを保存します。
  • Result キューは、Uppercase に変換され、表示される準備が整う文字列が含まれる応答を保存します。

アプリケーションで設定されるコンポーネントは、以下のとおりです。

  • テキスト文字列をアプリケーションに送信するのに使用できるフロントエンドサービス。
  • 文字列を大文字に変換するバックエンドサービス。
  • Spring Boot HTTP Starter によって設定され、提供される HTTP コントローラー。
  • 2 つのメッセージングキュー間でメッセージをルーティングする組み込み Artemis AMQP Broker インスタンス。

要求キューは、テキスト文字列を含むメッセージをフロントエンドからテキスト文字列プロセッサーサービスに渡します。処理用の文字列を送信する場合は、以下を行います。

  1. フロントエンドサービスは、リクエストのペイロードとして文字列を含む HTTP POST リクエストを HTTP コントローラーに送信します。
  2. リクエストは、AMQP ブローカーへメッセージをルーティングするメッセージングマネージャーによって選択されます。
  3. ブローカーはメッセージをテキスト文字列プロセッサーサービスにルーティングします。テキストプロセッサーサービスがリクエストを取得できない場合には、このようなインスタンスが利用可能な場合、ブローカーはメッセージを次の利用可能なプロセッサーインスタンスにルーティングします。または、ブローカーは、再度利用可能になったときに、同じインスタンスにリクエストを再送信するまで待機します。
  4. テキスト文字列プロセッサーサービスはメッセージを取得して、文字列の文字を大文字に変換します。プロセッサーサービスは処理済みのリクエストを大文字で AMQP ブローカーに送信します。
  5. AMQP ブローカーは、処理された結果とともにリクエストをメッセージングマネージャーにルーティングします。
  6. メッセージングマネージャーは、処理済みのリクエストを、フロントエンドサービスがアクセスできる送信キューに格納します。

応答キューは、文字列プロセッサーサービスによって処理される結果が含まれる HTTP 応答を保存します。フロントエンドアプリケーションは、このキューを一定間隔でポーリングして結果を取得します。処理された結果が表示される準備が整ったら、以下を行います。

  1. フロントエンドサービスは、HTTP GET リクエストを Spring Boot HTTP Starter によって提供される HTTP コントローラーに送信します。
  2. HTTP コントローラーはリクエストをメッセージングマネージャーにルーティングします。
  3. フロントエンドによって以前に送信されたリクエストが処理の準備ができ、送信キューで利用可能な場合、メッセージングマネージャーは結果を HTTP GET リクエストとして HTTP コントローラーに送信します。
  4. HTTP コントローラーは、応答をフロントエンドサービスにルーティングし、結果を表示します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat