Customer’s call data processor and indexer product for Jio’s dev division, which is highly scalable and has microservice architecture.
Call data records were dumped over different servers. Hundreds of workers were deployed to pick those CDRs and read the content prepare JSON and push those records to elasticsearch for further analytics. It was a highly scalable and high throughput system, with each worker utilising multiple cores of the machine to the full with multithreading. Distributed locking was implemented over the directories where the cdr file was dumped, so that same cdr file was not picked by multiple workers.
Tech stack used: Java, Springboot, Redis, Elasticsearch