编写自己的HTTP服务器

时间:2011-06-27 08:03:51

标签: architecture httpserver

我打算编写HTTP服务器:

将有两个模块(L& P),两个可执行文件。

其中一个可执行文件(L)将监听HTTP请求,并将其简单地转发到具有所有HTTP解析逻辑的其他可执行文件(P)并进行更多操作。可能有多个“P”,其连接信息/参数将为听众L所知。

想法是如果其中一个Ps崩溃可以使用等等。此外,可以运行一个P与一个DB副本和其他副本与其他副本进行交互。

现在,我很困惑,如果我选择L& Ps组合或只使用L,它会监听,接收,解析请求并做出回应。

In case I go for L&P combo there will be some overhead because of request forwarded from L to P and then response from P to L.

  • 这个开销可以忽略每秒100,000次点击吗?

1 个答案:

答案 0 :(得分:2)

首先,所有现有的Web服务器出了什么问题?为什么不创建一个模块呢?

如果你想继续创建自己的(如果你想完全支持HTTP标准,这不是一项微不足道的任务):创建一个HTTP服务器和模块(.so / .dll)。只需使用try / catch包装所有模块调用,以防止它们使服务器崩溃。

另一种方法是创建一个http解析器库,让所有P都是完整的Web服务器,并在它们前面放置一个代理/负载均衡器。通过这种方式,如果您的处理能力不足,您可以将任何P移动到新服务器。