2013-02-28 42 views
2

我試着在網上搜索,90%的時間都出現在詳細介紹「如何」使用Apache來實現反向代理的頁面上。什麼是反向代理的典型體系結構?

我在想,反向代理插件是如何編碼的?

  1. 我知道他們解析請求,看看它應該路由到哪個服務器。
  2. 然後他們是否爲最終用戶的每個連接創建一個線程,然後委派該線程負責連接到正確的服務器。
  3. 繼續接受來自其他客戶端的更多請求並創建類似的線程。
  4. 當線程從服務器獲得響應時,回覆給客戶端。並關閉線程。或者他們有線程池?

我從C++角度思考它。如果使用多線程來提高代理的吞吐量。

如果我的問題根本不對,請原諒我的無知。

任何包含相關技術信息的鏈接或教程都將不勝感激。

+0

有幾種可用的開源代理,我認爲最好的做法是研究它們的來源。 [磅](http://www.apsis.ch/pound)是一個相對緊湊的獨立反向代理,也許是一個很好的起點? – fvu 2013-02-28 00:47:47

+0

非常感謝。現在通過它。 – NotAgain 2013-02-28 01:19:10

回答

3

有點過時了,但非常值得一讀 - http://www.kegel.com/c10k.html。閱讀完之後,您應該清楚每個連接的線程爲什麼是一個非常糟糕的主意。如果您在學習如何實現可伸縮或高性能服務器方面非常有趣,那麼我建議您閱讀並閱讀一些源代碼。我特別喜歡Apache HTTPD的源代碼。

+0

一個有趣的閱讀。感謝您的鏈接。 – NotAgain 2013-02-28 01:19:57

相關問題