ポイントツーポイント MQ 通信でトランスポート層を使用する既存のアプリケーションに取り組んでいます。
指定されたアカウントのリストごとに、いくつかの情報を取得する必要があります。
現在、MQ と通信するために次のようなものがあります。
responseObject getInfo(requestObject){
code to send message to MQ
code to retrieve message from MQ
}
ご覧のとおり、次のアカウントに進む前に、完全に終了するまで待ちます。パフォーマンスの問題のため、再加工する必要があります。
現時点で考えられるシナリオは 2 つあります。
1) アプリケーション内で、アカウントごとにトランスポート アダプターを実行する一連のスレッドを作成します。次に、各タスクからデータを取得します。私はこの方法を好みますが、一部のチーム メンバーは、このような変更にはトランスポート層が適していると主張しており、アプリケーションではなく MQ に余分な負荷をかける必要があります。
2) パブリッシュ/サブスクライブ モデルを使用するようにトランスポート層を作り直します。理想的には、次のようなものが必要です。
void send (requestObject){
code to send message to MQ
}
responseObject receive()
{
code to retrieve message from MQ
}
次に、ループ内でリクエストを送信し、後でループ内でデータを取得します。アイデアは、最初のリクエストがバックエンド システムによって処理されている間、応答を待つ必要はなく、代わりに次のリクエストを送信するというものです。
私の質問は、現在の順次検索よりもはるかに高速になるということですか?