这是我尝试的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。