Apache与您自己的服务器的优点和缺点?

时间:2012-05-10 22:07:56

标签: apache ssl

我已经在我自己的基于ssl的多进程多文件描述符线程服务器上工作了几个星期,不用说它可以处理很多惩罚。我用C ++以面向对象的方式编写它,它几乎完成了信号处理(包括原子访问)和异常/ errno.h处理。

目标是使用服务器为Android / iOS制作多人游戏应用程序和游戏。我实际上非常接近完成,但最近我发现我可以使用Apache来完成它。

我尝试做一些研究,但找不到任何东西,所以也许有人可以帮我决定天气我应该完成我的服务器并使用它或使用apache或其他什么。 apache与您自己的服务器有什么优缺点?

感谢那些愿意参与此讨论的人!

2 个答案:

答案 0 :(得分:1)

我们需要更多有关您打算完成的内容的细节,但如果符合您的需求,我会选择Apache:

  • 对所有案件和负载进行战斗测试
  • 您可以从所有可用模块中受益(请参阅http://httpd.apache.org/docs/2.0/mod/
  • 您可以从常规安全补丁中受益
  • 你不必自己维护它!

希望这有帮助!

答案 1 :(得分:1)

即使存在经过充分验证的替代方案,您也可以随时编写自己的软件,但是您应该意识到这样做的原因是什么,以及成本是多少。

例如,您的理由可能是:

  • 现有软件太慢/高延迟/难以同步
  • 现有软件不能为我的目的扩展
  • 您的需求与软件强加的体系结构不重叠 - 例如,如果您需要P2P网络,那么基于客户端/服务器的HTTP协议不是您最好的
  • 您只是想探索低级协议

我相信以上所有内容除了最后一条适用于您的情况外,但您没有提供太多细节,所以如果我错了,我会道歉。

费用可能是:

  • 您的架构可能会变得混乱 - 例如,您可能会陷入使服务器忙于计算枪击是否触及敌人,10个客户端尝试启动TCP连接或持久性缓冲区溢出的陷阱存储例程关闭整个服务器
  • 当你应该处理你的游戏引擎时,你花时间在较低级别的东西上
  • 安全性很难才能做到正确,需要很多人年的入侵测试和正式证明(如果你使用的是openSSL,甚至
  • 制定自己的协议意味着制作自己的错误
  • 您自己的协议意味着您必须自己制作调试器(例如,您无法使用HTTP代理使用curl或trace进行测试)
  • 您必须解决现有解决方案已解决的许多问题。例如缓存,身份验证,重定向,日志记录,多节点扩展,资源分配,代理
  • 对于你自己的东西,你只能问自己帮助