Quote:
I want to convert it to micro service
You need to focus on a domain-driven analysis of your application to be able to successfully migrate a monolith to a microservice. Normal distribution of the applications happens at different levels, as we distribute the front-end and back-end first.
Among these two ends, you then distribute the code based on:
- Complexity of the code
- Performance bottleneck/degradation
- Separation of concerns
- Maintain availability for solution
You keep separating different components of your application into modules and smaller processes that make it easier to manage the development and deployment.
Think of it this way, if a module can be developed alone, tested alone, deployed and function alone, it is a microservice. More advanced questions include, if it can be scaled alone, it can be made fault-tolerant alone, then it is a separate module.
Oh, and the tech stack should also be microservice level. You should focus on making your modules available via Docker or other container runtimes. That will give you control over how your applications scale.
Here are a few good resources,
How to break a Monolith into Microservices[
^]
Migrating to Microservices from a Monolithic App[
^]