1

JBossESB Programmer's manualでは、次のように言及されています。

「JBossESB 内のクライアントとサービス間のすべての対話は、メッセージの交換を通じて発生します。疎結合を促進するために、一方向メッセージに基づくメッセージ交換パターンをお勧めします。つまり、要求と応答は独立したメッセージであり、必要に応じてインフラストラクチャまたはアプリケーションによって関連付けられます。」</p>

しかし、要求と応答が一方向 MEP の独立したメッセージである場合、要求応答 MEP の違いは何ですか?

そして、それぞれを使用することの実際の利点は何ですか?

4

1 に答える 1

2

リクエストレスポンス

  • 別名同期相互作用、コールリターン。
  • A は B に要求を送信し、待機します。
  • B はリクエストを処理し、レスポンスを送信します。
  • A は応答を取得し、次に進みます。

一方通行

  • 別名非同期相互作用、ファイア アンド フォーゲット。
  • A は B に要求/メッセージを送信しますが、応答を待ちません。それは他のことをするために移動します。
  • B は要求/メッセージを処理し、完了します。

同期オーバー非同期

  • あなたが引用した段落は、このパターンをほのめかしています...
  • A-to-B が一方向を使用する場合、リクエスト/メッセージの処理結果を A に返す必要がある場合はどうすればよいですか?
  • 1 つのオプションは、sync-over-asyncパターンを使用することです。
  • A は一方向の要求/メッセージを B に送信します。このメッセージには通常、相関識別子が含まれます。Aは他のことをするために移動します。
  • B は要求/メッセージを処理します。
  • 処理が完了すると、B (または処理中に呼び出された他のコンポーネント) は、処理の結果を含む独立した一方向メッセージを A に送り返します。
  • この 2 番目のメッセージは、元の A-to-B リクエスト/メッセージが送信されてから数ミリ秒、数分、数時間後に送信される可能性があります。ただし、同じ相関識別子が含まれています。
  • この 2 番目のメッセージは、元のメッセージで事前に構成または指定された A またはその他のコールバック エンドポイントまたはキューに戻ります。
  • Hohpe と Woolf は、このパターンを「要求-応答」と呼んでいます。しかし、この名前はやや紛らわしいと思います (「リクエスト-レスポンス」に近すぎます)。
于 2019-07-26T11:38:20.053 に答える