建议Comet服务器

Bar*_*ter 1 comet hookbox

我正在寻找基于Linux的开源Comet服务器.目前,看看Hookbox - 但是就像在Python中一样,我关注性能.Python而不是C++对性能有很大影响吗?

开发人员估计,当拥有100个频道时,它的性能达到每秒约100个请求...不是很快: - |

你能建议最积极支持/使用的彗星服务器是二进制(=更快),易于集成和(有点)轻量级?此外,Java/.NET不在这里.

我们的目标是每台服务器大约10k +连接,10-20k通道每秒大约2000-5000条消息.

hay*_*lem 11

Go怎么样?

这是一种可能 - 如果稍微"替代"的方法 - 如

  • 你似乎非常专注于表现,
  • 你想要一些基于Linux的东西,
  • 并且不想要JVM语言,但可能更简单,
  • 我认为这是个人项目或者你可以自由选择技术的东西.

看看谷歌的Go语言,特别是他们的网络服务器示例,它提供了相当不错的性能基准测试.

他们还有一个用于培训的Web应用程序开发代码实验室.

关于GoComet支持的Web框架的一些有趣的讨论.您还将找到另一个http-server实现.

就像我说的,也许不是一个现成的解决方案,但我认为你可能有兴趣探索它.


真的,没有Python?

如果你要重新考虑Python,你可以看看Tornado.


真的,没有(J)虚拟机语言?

如果你要重新考虑你对VM语言的立场,我还建议你看一下ScalaLift web框架,它对彗星有很好的支持,具有非常有表现力的语法和良好的性能(Foursquare,Twitter,Novell Pulse,所以你可以打赌它的表现)


好吧,让我们做传统......

最后但同样重要的是,看看LightHttpd,它是用C开发的,应该满足您的所有需求.查看维基百科上的LightHttpd页面以获取简要介绍.

(但实际上,看看其他的,特别是Go和Scala/Lift,即使仅用于教育目的)


如果你需要更多......

实际上,我刚刚注意到有人似乎已经完成了这项工作.因此,如果您想了解更多细节或进行更多研究,请查看Comet Servers for Single Dealer Platforms文章Comet Daily 's Comet Maturity Guide.


编辑:我刚刚意识到我不回答你问题的第一部分.是的,使用Python 可能比C/C++实现有一些开销,特别是如果你不使用预编译的Python文件.考虑到你想要的东西(就每秒连接数和并发连接数而言),我认为你更重要的是需要能够扩展的东西,而不是在执行速度方面必然"快速"的东西.

用于高度可扩展的应用程序演示的Comet也可能对您感兴趣.