Hyper Responsive Bidding Application on Cloud

Hyper Responsive Bidding Application on Cloud

Situation

Startup ISV in trading domain wants to develop a web application for American sport enthusiasts. This application should react instantly to the momentums of the live game and should scale up/down based on events and user load.

Challenge

Develop an application which synchronizes thousands of users in real-time and notifies the traders about each highest bid placed, within fraction of seconds

Need to handle transactions for thousands of concurrent users in real-time

Application usage spikes significantly with popular events

Harbinger Solution

Harbinger developed a hyper responsive application on cloud. Implemented HTTP Push notification using Node.js based event loop model and Socket.IO. Push notifications were used to broadcast bid updates to traders in real-time for multiple simultaneous live sport events. In order to optimize performance further database roundtrips were avoided by using Redis in-memory queues as a data store for live events. Combination of Node.js , Redis and Push mechanism ensured quick response time.

Designed and implemented a generic data store using Redis and MongoDB. Using Redis, individual runtime queues per live event ensured transaction management when data was in memory. Once event is closed, data is persisted from Redis queues to MongoDB data store for later usage like reporting, dashboards etc. After data is available in MongoDB, transaction management support from MongoDB is utilized for consistency.

Application is hosted in Amazon cloud, Amazon EC2 APIs used so application can automatically scale up or down depending on its need i.e. as number of users and concurrent events grows

Technologies & Tools

Grails

Node.js

Socket.IO

Redis

MongoDB

Benefits

Ensured a real-time game experience, as good as users are in the stadium and witnessing the game live. This resulted into increased user base, enhanced application usage and revenue growth.

Support for bidding across multiple and concurrent live game events, facilitated traders to participate and enjoy several sport events simultaneously