这是我尝试过的 COMET 解决方案的简短列表,各有优缺点:
- Python Twisted:基于 Python 的非阻塞服务器。不幸的是,“吃掉”了很多 CPU 并且扩展性不是很好;
- Jetty:非常好,如果您不需要同时为超过 10,000 个客户提供服务。Jetty 每 10k 活跃用户消耗约 2GB 内存;
- Apache Tomcat:与 Jetty 相同的问题 - 占用大量内存;
- Apache Mina:NIO 框架(非阻塞 IO)。没有很好的记录,并且在缩放方面存在问题;
- JBoss Netty:基于 Apache Mina 的 NIO 框架。文档也很弱,但与上述解决方案相比显示出最佳性能。使用 Netty,您一次可以提供约 100k 的连接,消耗数 GB 的内存并使用约 20% 的 CPU(4 核);
所以我强烈建议你看看 Netty。
于 2010-06-08T18:20:06.173 回答