LoginSignup
0
0

More than 3 years have passed since last update.

Envoy: コネクションプーリング

Posted at

tldr

勉強がてらにEnvoyのドキュメントを邦訳してみました。ベースはGoogle Translateで、ところどころ不自然な箇所を直しています。

原文としたのEnvoyのドキュメントはこちらのディレクトリ以下にあります(ライセンス:Apache License 2.0, NOTICE)。

コネクションプーリング

HTTPトラフィックの場合、Envoyは基礎となるワイヤプロトコル(HTTP / 1.1またはHTTP / 2)の上に階層化された抽象接続プールをサポートします。利用するフィルタコードは、基礎となるプロトコルが真の多重化をサポートしているか否かを意識する必要はない。実際には、基礎となる実装は以下の高水準の特性を持ちます。

HTTP/1.1

HTTP / 1.1接続プールは、必要に応じて上流のホストへの接続を取得します(回線遮断限界まで)。接続が前の要求の処理を終了したか、または新しい接続が最初の要求を受け取る準備ができたために、要求は使用可能になったときに接続にバインドされます。 HTTP / 1.1接続プールはパイプラインを使用しないため、アップストリーム接続が切断された場合に単一のダウンストリーム要求のみをリセットする必要があります。

HTTP/2

HTTP / 2接続プールは、上流ホストへの単一接続を獲得します。すべての要求はこの接続を介して多重化されています。 GOAWAYフレームを受信した場合、または接続が最大ストリーム制限に達した場合、接続プールは新しい接続を作成して既存のものを排出します。 HTTP / 2は、切断されても接続がまれにしか発生しないため、推奨される通信プロトコルです。

ヘルスチェックのやりとり

Envoyがアクティブまたはパッシブヘルスチェック用に設定されている場合、すべての接続プール接続は、使用可能状態から使用不可状態に移行するホストに代わって閉じられます。ホストが負荷分散ローテーションに再び入ると、(ECMPルートまたは他の理由で)悪いフローを回避する可能性を最大にする新しい接続を作成します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0