3

私はネットを精査してみましたが、Apache を使用してリバース プロキシを実装するための「方法」を詳述したページに 90% の確率で出くわしました。

リバース プロキシ プラグインが正確にどのようにコーディングされているかを考えています。

  1. 彼らがリクエストを解析し、どのサーバーにルーティングする必要があるかを確認していることは知っています。
  2. 次に、エンドユーザーからのすべての接続に対してスレッドを作成し、そのスレッドに適切なサーバーに接続する責任を委任しますか?
  3. 他のクライアントからより多くのリクエストを受け入れ、同様のスレッドを作成し続けます。
  4. スレッドがサーバーから応答を取得したら、それをクライアントに返信します。そしてスレッドを閉じます。または、スレッドプールがありますか?

C++の角度から考えています。マルチスレッドを使用してプロキシのスループットを向上させる場合。

私の質問が根本的に間違っている場合は、私の無知をお許しください。

関連する技術情報を含むリンクやチュートリアルは大歓迎です。

4

1 に答える 1

3

少し古いですが、読む価値があります - http://www.kegel.com/c10k.html。これを読んだら、接続ごとのスレッドが本当に悪い考えである理由がよくわかるはずです。スケーラブルなサーバーや高性能なサーバーがどのように実装されているかを知りたい場合は、ソース コードを掘り下げて読むことをお勧めします。特に Apache HTTPD のソースが気に入っています。

于 2013-02-28T00:49:06.997 に答える