2017-12-21 30 views

答えて

1

質問が正しく理解されたら、YESが非常に一般的です。あなたは以下のことを記述している

は、私が推測:

、クライアントがサーバー-1、この要求を サービスを提供する過程で、APIサーバ-2への別の要求を行うには、API呼び出しを行い、 を取りますServer-2からの応答、再フォーマットやデータの抽出を行います。 パッケージがクライアントに返答しますか?

このようなことは常に発生します。その欠点は、Server-1とServer-2間の接続が非常に短い待ち時間(例えば、同じネットワーク上にある)でなければ、使用される帯域幅が小さいことです。クライアントは、レスポンス。明らかに、これを軽減するために、2つのバックエンドサーバーの間にキャッシングが存在する可能性があります。

これは、Server-1とほぼ同じですが、要求に答えるためにデータベースにSQLクエリを行います。

質問の別の解釈は、Server-1がServer-2がピックアップして非同期に実行する操作をキューに入れるようクライアントに要求していることがあります。これも非常に一般的です(Googleのウェブサイトのクロール方法など)。このシナリオでは、Server-1は、Server-2が実行した操作の結果を待たずに、すぐにClientに応答します。メッセージキューまたはデータベーステーブルは、通常、この場合のサーバー間の仲介として使用されます。

+0

非常に有益であり、私の質問に答えた束をありがとう! – MontyTheMack

0

もう1つのアプローチは、REST API(1)が要求の詳細をキューテーブルに格納することです。 100millisecondsと言うたびにキューテーブルをチェックするバックエンドを作成します。そのバックエンドは、他のREST API(2)を呼び出す人になります。

キュー内のトランザクションが処理されたかどうかを確認するループを作成するだけです。はいの場合は、プロセスの詳細を取得し、クライアントに返信します。処理が完了するまでループします。

関連する問題