mirror of https://github.com/abpframework/abp
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.
3.0 KiB
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
- ASP.NET Core as the web framework.
- ABP as the application framework.
- Ocelot as the API Gateway.
- IdentityServer4 as the authentication server/framework.
- Redis for distributed cache.
- RabbitMQ for distributed messaging.
- Serilog for logging.
The Solution
The solution consists of;
- Applications:
- AuthServer (MVC Application)
- Hosts the IdentityServer4 module for authentication.
- Uses an SQL server database and EF Core as the ORM.
- 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.
- AuthServer (MVC Application)
- Microservices:
- Blogging Microservice
- 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.
- Product Management
- 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.