xRobot
xRobot

Reputation: 26573

Best way to create a Comet/Push webserver?

I need to create a comet server.

What webserver + modules do I have to use ?

Upvotes: 0

Views: 1685

Answers (2)

Viren
Viren

Reputation: 2171

Please do not vote me down, but have your considered about Nginx's push module?

http://pushmodule.slact.net/

Upvotes: 0

Vasil Remeniuk
Vasil Remeniuk

Reputation: 20619

Here's a short list of COMET solution I tried, with pros and cons:

  • Python Twisted: Non-blocking server based on Python. Unfortunately, "eats" a lot of CPU and doesn't scale very good;
  • Jetty: Very good, if you doesn't need to serve more than 10k clients simultaneously. Jetty consumes ~2GB memory per 10k active users;
  • Apache Tomcat: The same problems as with Jetty - eats lots of memory;
  • Apache Mina: NIO framework (non-blocking IO). Is not documented very well, and has problems with scaling;
  • JBoss Netty: NIO framework based on Apache Mina. Has a weak documentation, as well, but shows the best performance compared to aforementioned solutions. With Netty you can serve ~100k connections at a time, consuming several gigabytes of memory and using ~20% CPU (4-core);


So I strongly recommend you glancing over Netty.

Upvotes: 3

Related Questions