リクエストパイプライン
前のリクエストの応答を待たずに、コネクション上で複数のリクエストを送信することで待機時間を短縮します。
問題
Single-Socket Channelを使用してクラスタ内のサーバ間で通信すると、リクエストが前のリクエストの応答を待機する必要がある場合、パフォーマンスの問題が発生することがあります。スループットと待ち時間を向上させるには、サーバのキャパシティが十分に活用されるように、サーバ上のリクエストキューを十分に満たす必要があります。たとえば、Singular Update Queueがサーバ内で使用されている場合、リクエストを処理している間でも、キューがいっぱいになるまで常に المزيدのリクエストを受け入れることができます。一度に1つのリクエストしか送信されない場合、サーバのキャパシティのほとんどが無駄に浪費されます。
解決策
ノードは、前のリクエストからの応答を待たずに、他のノードにリクエストを送信します。これは、ネットワークチャネルを介してリクエストを送信するためのスレッドと、ネットワークチャネルから応答を受信するためのスレッドの2つの別々のスレッドを作成することで実現されます。
詳細については、oreilly.comのオンライン電子書籍の第32章を参照してください。
このパターンは分散システムのパターンの一部です。
2023年11月23日