The current project architecture is monolithic, relying on a single main.rs file as the primary entry point. This design is not well-suited for a microservice or service mesh architecture, limiting scalability and flexibility for deployment in DevOps environments.
Describe the solution
To align with DevOps workflow, I will progressively restructuring the core directory as follows:
- Split the application into multiple independent modules, each of which can be compiled separately using:
cargo build -p <module_name>
- or with
to compile the entire application
Every module will have:
- a dedicated Dockerfile for each module for containerization.
- a top-level docker-compose.yml file to orchestrate the entire system.
The current project architecture is monolithic, relying on a single
main.rsfile as the primary entry point. This design is not well-suited for a microservice or service mesh architecture, limiting scalability and flexibility for deployment in DevOps environments.Describe the solution
To align with DevOps workflow, I will progressively restructuring the core directory as follows:
to compile the entire application
Every module will have: