Coral: A backend server for Real-time Apps

k8scale.io
2 min readApr 2, 2020

Let’s talk about what is a real time app means that you have ability to show information in real time to your customer as the events happening in the order parts of system.

Few example of real time apps are

Ride hailing Apps

Food Ordering Apps

Challenges in building such Apps

You have to receive a high volume of update from the Fact entities (like order, trips etc). And as you receive those updates you have to notify the Dimension Entities (Restaurant, Driver etc). The latency requirement for these systems are in the order of milli-seconds at a very high volume.

You could have updates from multiple sources like a phone app or it could be from a backend system which is performing some action and sending you status update in kafka stream or other pub-sub mechanism.

Another challenge is that not all events need to be sent to Dimension site so you need some kind of filtering logic in the backend.

Simple use-case diagram of a coral server

We started working on coral server with all the above requirements in mind.

It uses websockets to pass the messages to one or more dimension sides in real time. All you need is to use a simple okhttp listener implementation which reads the messages on the socket.

https://github.com/catchkvs/Coral

The coral server is completely open sourced and you can see the code on github: https://github.com/catchkvs/Coral

For more details visit: https://www.k8scale.io/coral-server

If you are looking for a backend server for your app. Let us know, we would be happy to help you.

--

--