javarabbitmqxmppejabberdmongoose-im

Solution for Real Time Data display using WebSocket vs XMPP vs MQ


I'm trying to develop an Online Auction Platform.

In which clients connected with particular auction will see the live data and they will also be able to communicate with each other.

I'm considering Java as my backend Platform It will be SOA based. I'm looking for opinions like what are best technologies solutions available for displaying the real time data to clients.

So far I have compared Like -

Which protocol will be good approach to handle RealTime Broadcast data + Chat for 1M concurrent users.


Solution

  • For Real time processing of large data Atmosphere based web socket is a good method that can be used. Unlike Socket.IO based web sockets, Atmosphere handles the underlying Service that keeps the event bus alive by timely sending heartbeat message, so you don't have to take care of that.

    For chatting application, Ejabbered based XMPP is well defined. Infact the schema can be changed to your advantage and it's implementation for JAVA is easy.