Search code examples
erlangxmppejabberdnitrogen

Nitrogen Project COMET


Would Nitrogen Project's COMET be comparable to ejabberd's xmpp in stability and amount of open connections it can hold? I'm interested in seeing how much of a load Nitrogen can hold. If anyone has any data on this they'd like to share I'd greatly appreciate it.


Solution

  • I do not know much about Nitrogen's COMET implementation, but the ejabberd XMPP comet implementation works over a protocol named BOSH, which basically wraps around XMPP stuff to give some state to HTTP.

    BOSH has many interesting aspects that can end up making it somewhat annoying for lots of connections: it can only support one active connection per user at once (due to some hashing scheme to ensure message ordering required by XMPP), unless you try and wrap the protocol in something else, at which point you'll just be writing your own COMET stuff.

    So unless you do need XMPP, going with any other implementation might be better in the long run. If you do need XMPP, I believe the difference will be minimal and that you might end up writing a BOSH-like protocol yourself.

    Note that how many connections can be held will also depend on what your own application will do on the server, not just the socket handling.