创建Comet / Push网络服务器的最佳方式?

时间:2010-03-28 01:19:07

标签: webserver comet server-push

我需要创建一个彗星服务器。

我必须使用哪些网络服务器+模块?

2 个答案:

答案 0 :(得分:3)

这是我尝试的COMET解决方案的简短列表,有利有弊:

  • Python Twisted :基于Python的非阻塞服务器。不幸的是,“吃”了很多CPU并且不能很好地扩展;
  • Jetty :非常好,如果您不需要同时为超过10k的客户提供服务。 Jetty每10k活跃用户消耗约2GB内存;
  • Apache Tomcat :与Jetty相同的问题 - 占用大量内存;
  • Apache Mina :NIO框架(非阻塞IO)。没有记录得很好,并且有缩放问题;
  • JBoss Netty :基于Apache Mina的NIO框架。文档也很薄弱,但与上述解决方案相比显示出最佳性能。使用Netty,您可以一次服务~100k连接,消耗几千兆字节的内存并使用~20%CPU(4核);


所以我强烈建议你浏览一下Netty。

答案 1 :(得分:0)

请不要投票给我,但请考虑一下Nginx的推送模块吗?

http://pushmodule.slact.net/