创建 Comet/Push 网络服务器的最佳方式?
Posted
技术标签:
【中文标题】创建 Comet/Push 网络服务器的最佳方式?【英文标题】:Best way to create a Comet/Push webserver? 【发布时间】:2010-03-28 01:19:06 【问题描述】:我需要创建一个彗星服务器。
我必须使用哪些网络服务器 + 模块?
【问题讨论】:
您需要提供更多信息。什么操作系统?语言?托管限制? 操作系统 Linux。语言和托管无关紧要......我想创建一个简单高效的彗星服务器。在这种情况下,最常用的技术是什么?谢谢^_^ 【参考方案1】: 这是我尝试过的 COMET 解决方案的简短列表,各有优缺点: Python Twisted:基于 Python 的非阻塞服务器。不幸的是,“吃掉”大量 CPU 并且扩展性不是很好; Jetty:非常好,如果您不需要同时为超过 10,000 个客户提供服务。 Jetty 每 10k 活跃用户消耗约 2GB 内存; Apache Tomcat:与 Jetty 相同的问题 - 占用大量内存; Apache Mina:NIO 框架(非阻塞 IO)。没有很好地记录,并且存在缩放问题; JBoss Netty:基于 Apache Mina 的 NIO 框架。文档也很薄弱,但与上述解决方案相比显示出最佳性能。使用 Netty,您一次可以提供约 10 万个连接,消耗数 GB 的内存并使用约 20% 的 CPU(4 核);所以我强烈建议你看看 Netty。
【讨论】:
【参考方案2】:请不要对我投反对票,但是您考虑过 nginx 的推送模块吗?
http://pushmodule.slact.net/
【讨论】:
以上是关于创建 Comet/Push 网络服务器的最佳方式?的主要内容,如果未能解决你的问题,请参考以下文章