

A gazillion-user comet server with C - EGreg

I'm going to be implementing chat soon in this product I'm building (kind of keeping it on the DL until I have something big to show)... so I started researching comet servers. And I came across this:<p>http://aleccolocco.blogspot.com/2008/10/gazillion-user-comet-server-with.html<p>Whoa nelly, this should do nicely. Thought I'd share.
======
alecco
I'm ashamed for not finishing up in so long. 2008!

The post was following Richard Jones' Mochiweb/erlang "Million-user"
implementation. And he ended up using a libevent-based solution to handle
connections in front of Mochiweb :-/

Also note the post on Linux ephemeral port issue:
[http://aleccolocco.blogspot.com/2008/11/ephemeral-ports-
prob...](http://aleccolocco.blogspot.com/2008/11/ephemeral-ports-problem-and-
solution.html)

Niels, from /dev/poll (back then) and libevent fame got into the thread.

Well, OK. It's Sunday and it's beautiful outside, but let's see if I can get
some update today.

~~~
alecco
[If anybody is reading this...]

The Orbited team released Hookbox, and it looks amazing. <http://hookbox.org/>

Also there's an nginx push module by Leo aka "shell".
<http://pushmodule.slact.net/>

I doubt I can add to the conversation now.

------
sgt
Clickable link [[http://aleccolocco.blogspot.com/2008/10/gazillion-user-
comet...](http://aleccolocco.blogspot.com/2008/10/gazillion-user-comet-server-
with.html)]

------
exit
you should probably structure this submission different.

~~~
sgt
It's not so bad. It's just one of those "hey, found something cool. Here's a
link, if you're interested".

------
aonic
I would recommend nodejs or the twisted framework for python if you don't want
to go the C route

~~~
alecco
Twisted works well but as with most dynamic versions it gets too non-
deterministic for my taste. You have to monitor those.

I barely skimmed node.js, it looks very good. I have an nginx-V8 module for a
web framwork I'm working on. Both give very good control to keep the system
with nice logarithmic resource usage, without spikes. One of my unfinished
blog drafts talks about it.

------
jaddison
Too bad he never finished his 4-part write up. The linked article was pretty
interesting to read. In one of his later postings he mentioned APE (AJAX Push
Engine) - anyone taken a look at that?

------
revoltingx
Looks cool, but I'm much rather use Erlang because of the whole framework it
provides.

