2

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 -

  • XMPP based solutions like (Mongoose/Ejabberd/OpenFire)
  • Websocket based solutions like Atmosphere
  • Messaging Buffer like RabbitMQ/ActiveMQ

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

Dpkbhardwaj
  • 110
  • 6
  • 1
    I have the strong feeling that "best" and "which should I use" is no good fit for SO because it can result in opinionated discussion and selecting one for _your_ situation might be way too much for SO. – Thomas Oct 24 '18 at 11:15

4 Answers4

0

I would go for a eventbus system like Vert.x. See this blog why it might fit your needs.

Frito
  • 446
  • 2
  • 12
0

MessagingQueue based solution for this approach is not feasible since it doesn't guarantee real-time delivery.

WebSocket and XMPP are protocols, you must compare based on features you need to integrate in your solution :

Broadcast messaging

One to one messaging

Group messaging

strike
  • 1,031
  • 8
  • 24
0

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.

Subham Gupta
  • 341
  • 4
  • 8
-1

Finally, we decided to use multi-room based Atmosphere web socket for real-time data broadcast and Ejabberd for chat feature.

Dpkbhardwaj
  • 110
  • 6