Open Closed

Recommended approach when using ABP Microservices template #9724


User avatar
0
tferrero created

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)
  • User Avatar
    0
    AI-Bot created
    Support Team ABP Agent
    • 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.

  • User Avatar
    0
    tferrero created

    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.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    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.

Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on September 01, 2025, 08:37