Node.js with Socket.io module vs XMPP - advantages and disadvantages

user739217 picture user739217 · May 5, 2011 · Viewed 18.3k times · Source

I have a Node.js with Socket.io chat application and an XMPP Openfire chat system. I'm looking forward to replacing XMPP with Node.js and Socket.io. However, there is talk that, Node.js with Socket.io would have a problem, if the server crashes and goes back online it would have a bottleneck syndrome or maybe impossible to reconnect 10,000 of it's online users. Is that true?

Another question. In what case would XMPP be more appropriate than Socket.io and vice versa?

Answer

mikl picture mikl · May 5, 2011

XMPP is an open-standard communications protocol for message-oriented middleware (Wikipedia).

Node.js is a JavaScript-based developer tool for creating network services.

Those two things don't really compare. If you have built a chat application with socket.io, it's possible that it'll suffer from bottleneck syndrome, but it depends a lot on your application code.

In general, if you want to go beyond simple browser-based chat, I'd seriously consider XMPP (aka. Jabber), since there XMPP clients readily available for all OS'es.