用于Web开发的高效C ++软件堆栈

时间:2012-03-07 15:23:20

标签: c++ web-services

开发人员使用哪些C ++软件堆栈来创建自定义快速,响应迅速且资源不足的Web服务?

2 个答案:

答案 0 :(得分:4)

我建议你看看CppCMS:

http://cppcms.com

exactly符合你所描述的情况:

  • 面向性能(最好是Web服务)软件堆栈
  • 用于C ++ Web开发。
  • 内存占用应该很少
  • 在UNIX(FreeBSD)和Linux系统上工作
  • 在高服务器负载下表现良好,能够高效处理许多请求
  • [因为我打算在虚拟环境中使用它]资源在某种程度上会受到限制。
  

到目前为止,我只遇到了员工WSF,Boost,Poco图书馆。后两者可用于实现自定义Web服务器...

Web服务器占Web开发的2%左右的问题还有很多东西需要处理:

  • 网页模板
  • 会话
  • 缓存
  • 形式
  • security-security-security - 这远非琐碎

更重要的是,这就是您需要Web框架的原因。

答案 1 :(得分:3)

您可以写一个apache module,并将所有处理代码放在那里。

CppCMSTreefrog或撰写网络服务(非网站)使用gSOAPApache Axis

但最终,没有“易于使用的框架”,因为C ++开发人员喜欢用较小的组件构建应用程序。没有Ruby风格的框架,但是有各种各样的库来处理xml或者其他什么,而Apache在模块规范中提供了http协议位,因此你可以非常愉快地使用对你有意义的任何部分来构建你的应用程序。现在是否有市场将其捆绑起来以使更容易使用的东西是另一回事。

就个人而言,我写的最好的网络应用程序系统(对于一家公司)在Web服务器中使用了一个非常思考的Web层(IIS和ASP,但这适用于任何Web服务器,例如使用php)除了充当将数据从请求传递到C ++服务的网关。然后可以将C ++服务完全编写为具有明确定义的入口点的普通C ++命令行服务器,使用尽可能瘦的RPC系统(共享内存,但您可能需要检查ZeroMQ),这不仅提高了安全性,而且通过将服务转移到应用服务器并在不同硬件上运行Web服务器,我们可以轻松扩展。它也很容易测试。