Birth of Worker Microservice from Monolithic code

This story is all about the creation of TWO Microservices that were extracted from the Monolithic System.

Domain: Online Bill Payment / Financial

Tech Spec: Java, Spring Boot, PostgreSql, Redis, Kafka, Azure

Whenever there is a repetitive work happening in any System, the idea of modularization should be implemented. The same thing happened in the project that I have been working on. I proposed this idea to my team with POC and felt heard, when the team and my boss appreciated my idea.

Happily took my first step for this little milestone. There are many places in the monolithic system project calling the External Broker Service for the below needs:

  1. To fetch Bill details

2. Company details that the bills were paid for.

3. Paying the Bill through Integrated service.

4. Confirming the Bill Payment.

Also there are other microservices that are calling these apis from many places directly to the Broker Service. I created the Worker/External Utility service that receives Internal http calls from these local services and makes External https calls to External Broker Service.

Later at a point of time, the entire logic is of Worker Microservice consumption is developed as Jar file and added as a Dependency for all required Monolithic and other microservices. The microservice is now busy with serving the Centralized Traffic of 75% utilization every hour.

The secondary microservice that I mentioned earlier was a Mocking Microservice for other consumer Services in development & UAT setups.

--

--

Ashok Chakravarthi

Senior Software Development Engineer / Engineering Lead