mirror of https://github.com/abpframework/abp.git
1 changed files with 50 additions and 1 deletions
@ -1,3 +1,52 @@ |
|||||
# Microservice Demo Overall |
# 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](https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.2)** as the web framework. |
||||
|
* **[ABP](https://abp.io)** as the application framework. |
||||
|
* **[Ocelot](https://github.com/ThreeMammals/Ocelot)** as the API Gateway. |
||||
|
* **[IdentityServer4](https://identityserver.io/)** as the authentication server/framework. |
||||
|
* [**Redis**](https://redis.io/) for distributed cache. |
||||
|
* [**RabbitMQ**](https://www.rabbitmq.com/) for distributed messaging. |
||||
|
|
||||
|
## The Solution |
||||
|
|
||||
|
The solution consists of; |
||||
|
|
||||
|
* **MVC applications**: |
||||
|
* **AuthServer Application** |
||||
|
* Hosts the [IdentityServer4](https://github.com/abpframework/abp/tree/master/modules/identityserver) module for authentication. |
||||
|
* Uses an SQL server database and [EF Core](https://abp.io/documents/abp/latest/Entity-Framework-Core) as the ORM. |
||||
|
* **Public Site Application** |
||||
|
* Hosts the [docs](https://github.com/abpframework/abp/tree/master/modules/docs) module UI. Uses the docs microservice as backend. |
||||
|
* Hosts the [blogging](https://github.com/abpframework/abp/tree/master/modules/blogging) module UI. Uses the blogging microservice as backend. |
||||
|
* Contains a sample page that uses multiple microservice API calls. |
||||
|
* Authenticates from the AuthServer. |
||||
|
* **Backend Admin Application** |
||||
|
* Hosts the [Identity](https://github.com/abpframework/abp/tree/master/modules/identity) module UI for user/role/permission management. Uses the identity microservice as backend. |
||||
|
* Hosts the blogging admin UI to manage the docs web site. Uses the blogging microservice as backend. |
||||
|
* **Microservices**: |
||||
|
* **Blogging Microservice** |
||||
|
* Hosts the [blogging](https://github.com/abpframework/abp/tree/master/modules/blogging) module API. |
||||
|
* Uses its own [MongoDB](https://abp.io/documents/abp/latest/MongoDB) database. |
||||
|
* Listens user update events (of the Identity microservice) to update the users stored in its own database. |
||||
|
* **Docs Microservice** |
||||
|
* Serves the docs module API. |
||||
|
* Uses its own SQL Server database. |
||||
|
* **Identity Microservice** |
||||
|
* Hosts the [identity](https://github.com/abpframework/abp/tree/master/modules/identity) module API. |
||||
|
* Shares the same SQL Server database with the AuthServer application. |
||||
|
* **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. |
||||
Loading…
Reference in new issue