2013-02-28 45 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

相关问题