设计注意事项-C++服务器开发

Design Considerations - C++ Server Development

本文关键字:服务器 开发 -C++ 注意事项      更新时间:2023-10-16

我想将我的web应用程序原型(PHP服务器端)转换为C++解决方案。这已经决定了。我在维基百科、谷歌和SO上找到了最好的方法。

我已经决定使用Linux和Apache(或自定义服务器)。

我想我学到的是,这可以通过多种方式来实现。按照速度或效率的顺序。

  1. 写入服务器
  2. 编写Apache模块
  3. 编写它以使用快速CGI
  4. 将其编写为使用CGI

我有大约1400行PHP,所以我的web应用程序很小。我也知道网络CS课程通常让学生编写一个基本的网络服务器作为实验室。顾名思义,Fast CGI声称比CGI更快。。我听说模块是最快的,因为它与Apache的集成更紧密。编写自己的服务器可能是最快的,因为它是特定于应用程序的,而不是所有用途的。

我正试图把一个我可以在一年内完成的项目放在一起,并将代码库控制在6000行左右

什么是最快的、合理的方法?

相关SO帖子

  • 编译或解释
  • Apache模块
  • C++服务器Hello World

C++Web库

  • CppCMS
  • Wt

类似SO

  • 需要C++Web库

我从nginx上的FastCGI处理程序开始——它非常快,CGI是一个非常稳定的API。编写自己的服务器可能是一种很好的学习体验,但我不确定你是否能够使它的性能接近nginx或Apache。

我没有足够的权限对问题发表评论,所以把我的评论作为答案。

考虑到您已经在php中构建了原型,如果您关心php的运行时性能,请使用hiphop for php!在部署时。在c/c++中开发apache模块有一个相当陡峭的学习曲线。

我强烈建议使用CppCMS。

  1. FastCGI支持(不仅仅是FastCGI)
  2. 它最初是为性能而设计的
  3. web开发所需的所有工具
  4. 该技术已经被证明是高性能技术,并且已经在许多网站上使用

披露:我是CppCMS 的作者

小钞:

编写服务器

为什么有很多好的网络服务器可以很好地完成这项工作。

编写Apache模块

您与特定技术绑定

编写它以使用快速CGI

这是最好的方法,因为它独立于web服务器,设计用于运行用户应用程序。

编写它以使用CGI

CGI适用于很少执行的小型任务。不适用于高性能应用程序。


注意:web开发是一项相当复杂的任务,因此使用框架可以帮助您完成您的业务逻辑,而不是处理小细节

我不得不同意其中一位评论者的观点。C++可能不是最好的选择,您可能应该使用Opa或类似的语言更快地完成工作。