You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/samples/MicroserviceDemo/docs/design/Overall.md

3.0 KiB

Microservice Demo Overall

Introduction

The goal of this work is to show how to create a complete microservice solution based on the ABP framework.

Tooling

The Solution

The solution consists of;

  • Applications:
    • AuthServer (MVC Application)
    • Public Site (MVC Application)
      • "Our products" page to list the products using the products microservice.
      • Hosts the blogging module UI. Uses the blogging microservice as backend.
      • Authenticates from the AuthServer.
    • Backend Admin (MVC Application)
      • Hosts the Identity module UI for user/role/permission management. Uses the identity microservice as backend.
      • A CRUD page to manage products using the products microservice.
      • Authenticates from the AuthServer.
    • Test Client (Console Application)
      • Simply calls a few APIs and writes results to console.
      • Authenticates from the AuthServer.
  • Microservices:
    • Blogging Microservice
      • Hosts the blogging module API.
      • Uses its own MongoDB database.
      • Listens user update events (of the Identity microservice) to update the users stored in its own database.
    • Identity Microservice
      • Hosts the identity module API.
      • Shares the same SQL Server database with the AuthServer application.
    • Product Microservice
      • Hosts product management module API.
      • Uses its own SQL Server database.
  • Modules
    • Product Management
      • A simple module that is used to manage products.
      • Uses EF Core & SQL Server for data access.
  • API Gateways
    • Public Site Gateway: Used by the public site application.
    • Backend Gateway: Used by the Backend admin application.

Notes

  • Microservices and the AuthServer application use Redis for caching and RabbitMQ for distributed messaging.
  • Every microservice is configured for auditing.
  • Uses docker-compose.
  • Will create sample background jobs for demonstration.