We are working on a new solution using the ABP Microservices template, the business requierements are distinctly divided into 9 business sections, each one of them has between 3 to 8 business microservices, with an estimated total of 50 plus some infrastructure microservices. Our initial thought was to create an ABP microservice solution for each module keeping them separate and an additional solution for the infrastructure microservices, then reuse the infraestructure microservices from that additional solution such as Administration, Identity, etc across the other solutions.
However, we were wondering if it would be a better approach to use only one microservice solution and internally divide the structure into 9 distinct business sections, in order to reduce tinkering with the template code.
Is there any recommendations from ABP team to decide between this two approaches?
3 Answer(s)
-
0
The ABP team recommends using a single microservice solution (mono-repo) for most scenarios, especially when your business requirements are closely related and you want to minimize overhead in managing multiple repositories and infrastructure duplication. The ABP Microservice template is designed to support large-scale solutions with many microservices, and it is common to organize the solution into distinct business sections (modules or folders) within the same repository.
Using a single solution allows you to:
- Share infrastructure microservices (like Identity, Administration, etc.) easily across all business microservices.
- Simplify DevOps, CI/CD, and dependency management.
- Reduce code duplication and template maintenance.
- Take advantage of ABP’s modularity and solution structure, which is built to scale for large numbers of microservices.
Creating separate ABP microservice solutions for each business section is only recommended if the business domains are entirely independent, have different release cycles, or need to be managed by completely separate teams with minimal overlap.
For your scenario (9 business sections, 50+ microservices, shared infrastructure), the recommended approach is to use a single ABP microservice solution and organize your business microservices into logical folders or modules within that solution.
Sources:
- https://abp.io/docs/latest/solution-templates/microservice/mono-repo-vs-multiple-repository-approaches
This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.
-
0
Hello,
The document shared by the IA contains some valid and good points but i would still like the input from someone on the team.
-
0
hi
An independent module as a microservice is the current architectural approach. Of course, you can also integrate multiple related modules into a single microservice. Both options are fine, it depends on your specific business needs.
Thanks.