From b4abefd76d42d8abae457826f129ddc608268b1e Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 21 Feb 2019 14:42:07 +0800 Subject: [PATCH] Preparing to translate microservice documents. --- docs/zh-Hans/Samples/Microservice-Demo.md | 1411 ++++++++++++++++- .../microservice-sample-authserver-home.png | Bin 0 -> 15896 bytes .../microservice-sample-authserver-login.png | Bin 0 -> 12713 bytes ...oservice-sample-backend-ui-permissions.png | Bin 0 -> 40957 bytes .../images/microservice-sample-backend-ui.png | Bin 0 -> 45686 bytes ...ple-blogservice-permission-in-database.png | Bin 0 -> 3304 bytes .../images/microservice-sample-kibana-1.png | Bin 0 -> 79209 bytes .../images/microservice-sample-kibana-2.png | Bin 0 -> 54003 bytes ...vice-sample-product-module-in-solution.png | Bin 0 -> 12817 bytes ...icroservice-sample-public-product-list.png | Bin 0 -> 28913 bytes .../images/microservice-sample-solution.png | Bin 0 -> 10730 bytes 11 files changed, 1407 insertions(+), 4 deletions(-) create mode 100644 docs/zh-Hans/images/microservice-sample-authserver-home.png create mode 100644 docs/zh-Hans/images/microservice-sample-authserver-login.png create mode 100644 docs/zh-Hans/images/microservice-sample-backend-ui-permissions.png create mode 100644 docs/zh-Hans/images/microservice-sample-backend-ui.png create mode 100644 docs/zh-Hans/images/microservice-sample-blogservice-permission-in-database.png create mode 100644 docs/zh-Hans/images/microservice-sample-kibana-1.png create mode 100644 docs/zh-Hans/images/microservice-sample-kibana-2.png create mode 100644 docs/zh-Hans/images/microservice-sample-product-module-in-solution.png create mode 100644 docs/zh-Hans/images/microservice-sample-public-product-list.png create mode 100644 docs/zh-Hans/images/microservice-sample-solution.png diff --git a/docs/zh-Hans/Samples/Microservice-Demo.md b/docs/zh-Hans/Samples/Microservice-Demo.md index eeac6e0749..e7dd2cfd8a 100644 --- a/docs/zh-Hans/Samples/Microservice-Demo.md +++ b/docs/zh-Hans/Samples/Microservice-Demo.md @@ -19,7 +19,9 @@ ABP框架的主要目标之一就是提供[便捷的基础设施来创建微服 * 有一个**控制台应用程序**使用身份验证展示使用服务最简单的方法. * 使用[Redis](https://redis.io/)做**分布式缓存**. * 使用[RabbitMQ](https://www.rabbitmq.com/)做服务间的**消息**传递. -* 使用[Kubernates](https://kubernetes.io/)**部署**和运行所有的服务和应用程序. +* 使用 [Docker](https://www.docker.com/) & [Kubernates](https://kubernetes.io/) 来**部署**&**运行**所有的服务和应用程序. +* 使用 [Elasticsearch](https://www.elastic.co/products/elasticsearch) & [Kibana](https://www.elastic.co/products/kibana) 来存储和可视化日志 (使用[Serilog](https://serilog.net/)写日志). + 下图显示了该系统: @@ -33,8 +35,1409 @@ ABP框架的主要目标之一就是提供[便捷的基础设施来创建微服 此示例仍处于开发阶段,尚未完成. -## 微服务 +## Running the Solution + +You can either run from the **source code** or from the pre-configured **docker-compose** file. + +### Using the Docker Containers + +#### Pre Requirements + +Running as docker containers is easier since all dependencies are pre-configured. You only need to install the [latest docker](https://docs.docker.com/compose/install/). + +#### Running Containers + +- Clone or download the [ABP repository](https://github.com/abpframework/abp). + +- Open a command line in the `samples/MicroserviceDemo` folder of the repository. + +- Restore SQL Server databases: + + ``` + docker-compose -f docker-compose.yml -f docker-compose.migrations.yml run restore-database + ``` + +- Start the containers: + + ``` + docker-compose up -d + ``` + + At the first run, it will take a **long time** because it will build all docker images. + +- Add this line to the end of your `hosts` file: + + ``` + 127.0.0.1 auth-server + ``` + + hosts file is located inside the `C:\Windows\System32\Drivers\etc\hosts` folder on Windows and `/etc/hosts` for Linux/MacOS. + +#### Run the Applications + +There are a few applications running in the containers you may want to explore: + +* Backend Admin Application (BackendAdminApp.Host): `http://localhost:51512` + *(Used to manage users & products in the system)* +* Public Web Site (PublicWebsite.Host): `http://localhost:51513` + *(Used to list products and run/manage the blog module)* +* Authentication Server (AuthServer.Host): `http://auth-server:51511/` + *(Used as a single sign on and authentication server built with IdentityServer4)* +* Kibana UI: `http://localhost:51510` + *(Use to show/trace logs written by all services/applications/gateways)* + +### Running From the Source Code + +#### Pre Requirements + +To be able to run the solution from source code, following tools should be installed and running on your computer: + +* [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads) 2015+ (can be [express edition](https://www.microsoft.com/en-us/sql-server/sql-server-editions-express)) +* [Redis](https://redis.io/download) 5.0+ +* [RabbitMQ](https://www.rabbitmq.com/install-windows.html) 3.7.11+ +* [MongoDB](https://www.mongodb.com/download-center) 4.0+ +* [ElasticSearch](https://www.elastic.co/downloads/elasticsearch) 6.6+ +* [Kibana](https://www.elastic.co/downloads/kibana) 6.6+ (optional, recommended to show logs) + +#### Open & Build the Visual Studio Solution + +* Open the `samples\MicroserviceDemo\MicroserviceDemo.sln` in Visual Studio 2017 (15.9.0+). +* Run `dotnet restore` from the command line inside the `samples\MicroserviceDemo` folder. +* Build the solution in Visual Studio. + +#### Restore Databases + +Open `MsDemo_Identity.zip` and `MsDemo_ProductManagement.zip` inside the `samples\MicroserviceDemo\databases` folder and restore to the SQL Server. + +> Notice that: These databases have EF Core migrations in the solution, however they don't have seed data, especially required for IdentityServer4 configuration. So, restoring the databases is much more easier. + +#### Run Projects + +Run the projects with the following order (right click to each project, set as startup project an press Ctrl+F5 to run without debug): + +* AuthServer.Host +* IdentityService.Host +* BloggingService.Host +* ProductService.Host +* InternalGateway.Host +* BackendAdminAppGateway.Host +* PublicWebSiteGateway.Host +* BackendAdminApp.Host +* PublicWebSite.Host + +## A Brief Overview of the Solution + +The Visual Studio solution consists of multiple projects each have different roles in the system: + +![microservice-sample-solution](../images/microservice-sample-solution.png) + +### Applications + +These are the actual applications those have user interfaces to interact to the users and use the system. + +- **AuthServer.Host**: Host the IdentityServer4 to provide an authentication service to other services and applications. It is a single-sign server and contains the login page. +- **BackendAdminApp.Host**: This is a backend admin application that host UI for Identity and Product management modules. +- **PubicWebSite.Host**: As public web site that contains a simple product list page and blog module UI. +- **ConsoleClientDemo**: A simple console application to demonstrate the usage of services from a C# application. + +### Gateways / BFFs (Backend for Frontend) + +Gateways are used to provide a single entry point to the applications. It can also used for rate limiting, load balancing... etc. Used the [Ocelot](https://github.com/ThreeMammals/Ocelot) library. + +* **BackendAdminAppGateway.Host**: Used by the BackendAdminApp.Host application as backend. +* **PublicWebSiteGateway.Host**: Used by the PublicWebSite.Host application as backend. +* **InternalGateway.Host**: Used for inter-service communication (the communication between microservices). + +### Microservices + +Microservices have no UI, but exposes some REST APIs. + +- **IdentityService.Host**: Host the ABP Identity module which is used to manage users & roles. It has no additional service, but only hosts the Identity module's API. +- **BloggingService.Host**: Host the ABP Blogging module which is used to manage blog & posts (a typical blog application). It has no additional service, but only hosts the Blogging module's API. +- **ProductService.Host**: Hosts the Product module (that is inside the solution) which is used to manage products. It also contains the EF Core migrations to create/update the Product Management database schema. + +### Modules + +* **Product**: A layered module that is developed with the [module development best practices](../Best-Practices/Index.md). It can be embedded into a monolithic application or can be hosted as a microservice by separately deploying API and UI (as done in this demo solution). + +### Databases + +This solution is using multiple databases: + +* **MsDemo_Identity**: An SQL database. Used **SQL Server** by default, but can be any DBMS supported by the EF Core. Shared by AuthServer and IdentityService. Also audit logs, permissions and settings are stored in this database (while they could easily have their own databases, shared the same database to keep it simple). +* **MsDemo_ProductManagement**: An SQL database. Again, used **SQL Server** by default, but can be any DBMS supported by the EF Core. Used by the ProductService as a dedicated database. +* **MsDemo_Blogging**: A **MongoDB** database. Used by the BloggingService. +* **Elasticsearch**: Used to write logs over Serilog. + +## Applications + +### Authentication Server (AuthServer.Host) + +This project is used by all other services and applications for authentication & single sign on. Mainly, uses **IdentityServer4** to provide these services. It uses some of the [pre-build ABP modules](../Modules/Index) like *Identity*, *Audit Logging* and *Permission Management*. + +#### Database & EF Core Configuration + +This application uses a SQL database (named it as **MsDemo_Identity**) and maintains its schema via **Entity Framework Core migrations.** + +It has a DbContext named **AuthServerDbContext** and defined as shown below: + +````csharp +public class AuthServerDbContext : AbpDbContext +{ + public AuthServerDbContext(DbContextOptions options) + : base(options) + { + + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + + modelBuilder.ConfigureIdentity(); + modelBuilder.ConfigureIdentityServer(); + modelBuilder.ConfigureAuditLogging(); + modelBuilder.ConfigurePermissionManagement(); + modelBuilder.ConfigureSettingManagement(); + } +} +```` + +In the **OnModelCreating**, you see **ConfigureX()** method calls. A module with a database schema generally declares such an extension method to configure EF Core mappings for its own entities. This is a flexible approach where you can arrange your databases and modules inside them; You can use a different database for each module, or combine some of them in a shared database. In the AuthServer project, we decided to combine multiple module schemas in a single EF Core DbContext, in a single physical database. These modules are Identity, IdentityServer, AuditLogging, PermissionManagement and SettingManagement modules. + +Notice that this DbContext is only for database migrations. All modules have their own `DbContext` classes those are used in the runtime by the modules. + +#### User Interface + +AuthServer has a simple home page that shows the current user info if the current user has logged in: + +![microservice-sample-authserver-home](../images/microservice-sample-authserver-home.png) + +It also provides Login & Register pages: + +![microservice-sample-authserver-login](../images/microservice-sample-authserver-login.png) + +These pages are not included in the project itself. Instead, AuthServer project uses the prebuilt ABP [account module](https://github.com/abpframework/abp/tree/master/modules/account) with IdentityServer extension. That means it can also act as an OpenId Connect server with necessary UI and logic. + +#### Dependencies + +* **RabbitMQ** for messaging to other services. +* **Redis** for distributed/shared caching. +* **Elasticsearch** for storing logs. + +### Backend Admin Application (BackendAdminApp.Host) + +This is a web application that is used to manage users, roles, permissions and products in the system. + +#### Authentication + +BackendAdminApp redirects to the AuthServer for authentication. Once the user enters a correct username & password, the page is redirected to the backend application again. Authentication configuration is setup in the `BackendAdminAppHostModule` class: + +````charp +context.Services.AddAuthentication(options => +{ + options.DefaultScheme = "Cookies"; + options.DefaultChallengeScheme = "oidc"; +}) +.AddCookie("Cookies", options => +{ + options.Cookie.Expiration = TimeSpan.FromDays(365); + options.ExpireTimeSpan = TimeSpan.FromDays(365); +}) +.AddOpenIdConnect("oidc", options => +{ + options.Authority = configuration["AuthServer:Authority"]; + options.ClientId = configuration["AuthServer:ClientId"]; + options.ClientSecret = configuration["AuthServer:ClientSecret"]; + options.RequireHttpsMetadata = false; + options.ResponseType = OpenIdConnectResponseType.CodeIdToken; + options.SaveTokens = true; + options.GetClaimsFromUserInfoEndpoint = true; + options.Scope.Add("role"); + options.Scope.Add("email"); + options.Scope.Add("phone"); + options.Scope.Add("BackendAdminAppGateway"); + options.Scope.Add("IdentityService"); + options.Scope.Add("ProductService"); + options.ClaimActions.MapAbpClaimTypes(); +}); +```` + +* It adds "Cookies" authentication as the primary authentication type. +* "oidc" authentication is configured to use the AuthServer application as the authentication server. +* It requires the additional identity scopes *role*, *email* and *phone*. +* It requires the API resource scopes *BackendAdminAppGateway*, *IdentityService* and *ProductService* because it will use these services as APIs. + +IdentityServer client settings are stored inside the `appsettings.json` file: + +````json +"AuthServer": { + "Authority": "http://localhost:64999", + "ClientId": "backend-admin-app-client", + "ClientSecret": "1q2w3e*" +} +```` + +#### User Interface + +The BackendAdminApp.Host project itself has not a single UI element/page. It is only used to serve UI pages of the Identity and Product Management modules. `BackendAdminAppHostModule` adds dependencies to `AbpIdentityWebModule` (*[Volo.Abp.Identity.Web](https://www.nuget.org/packages/Volo.Abp.Identity.Web)* package) and `ProductManagementWebModule` (*ProductManagement.Web* project) for that purpose. + +A screenshot from the user management page: + +![microservice-sample-backend-ui](../images/microservice-sample-backend-ui.png) + +A screenshot from the permission management modal for a role: + +![microservice-sample-backend-ui-permissions](../images/microservice-sample-backend-ui-permissions.png) + +#### Using Microservices + +Backend admin application uses the Identity and Product microservices for all operations, over the Backend Admin Gateway (BackendAdminAppGateway.Host). + +##### Remote End Point + +`appsettings.json` file contains the `RemoteServices` section to declare the remote service endpoint(s). Each microservice will normally have different endpoints. However, this solution uses the API Gateway pattern to provide a single endpoint for the applications: + +````json +"RemoteServices": { + "Default": { + "BaseUrl": "http://localhost:65115/" + } +} +```` + +`http://localhost:65115/` is the URL of the *BackendAdminAppGateway.Host* project. It knows where are Identity and Product services are located. + +##### HTTP Clients + +ABP application modules generally provides C# client libraries to consume services (APIs) easily (they generally uses the [Dynamic C# API Clients](../AspNetCore/Dynamic-CSharp-API-Clients.md) feature of the ABP framework). That means if you need to consume Identity service API, you can reference to its client package and easily use the APIs by provided interfaces. + +For that purpose, `BackendAdminAppHostModule` class declares dependencies for `AbpIdentityHttpApiClientModule` and `ProductManagementHttpApiClientModule`. + +Once you refer these client packages, you can directly inject an application service interface (e.g. `IIdentityUserAppService`) and use its methods like a local method call. It actually invokes remote service calls over HTTP to the related service endpoint. + +##### Passing the Access Token + +Since microservices requires authentication & authorization, each remote service call should contain an Authentication header. This header is obtained from the `access_token` inside the current `HttpContext` for the current user. This is automatically done when you use the `Volo.Abp.Http.Client.IdentityModel` package. `BackendAdminAppHostModule` declares dependencies to this package and to the related `AbpHttpClientIdentityModelModule` class. It is integrated to the HTTP Clients explained above. + +#### Dependencies + +- **Redis** for distributed/shared caching. +- **Elasticsearch** for storing logs. + +### Public Web Site (PublicWebSite.Host) + +This is a public web site project that has a web blog and product list page. + +#### Authentication + +PublicWebSite can show blog posts and product list without login. If you login, you can also manage blogs. It redirects to the AuthServer for authentication. Once the user enters a correct username & password, the page is redirected to the public web site application again. Authentication configuration is setup in the `PublicWebSiteHostModule` class: + +```charp +context.Services.AddAuthentication(options => +{ + options.DefaultScheme = "Cookies"; + options.DefaultChallengeScheme = "oidc"; +}) +.AddCookie("Cookies", options => +{ + options.Cookie.Expiration = TimeSpan.FromDays(365); + options.ExpireTimeSpan = TimeSpan.FromDays(365); +}) +.AddOpenIdConnect("oidc", options => +{ + options.Authority = configuration["AuthServer:Authority"]; + options.ClientId = configuration["AuthServer:ClientId"]; + options.ClientSecret = configuration["AuthServer:ClientSecret"]; + options.RequireHttpsMetadata = false; + options.ResponseType = OpenIdConnectResponseType.CodeIdToken; + options.SaveTokens = true; + options.GetClaimsFromUserInfoEndpoint = true; + options.Scope.Add("role"); + options.Scope.Add("email"); + options.Scope.Add("phone"); + options.Scope.Add("PublicWebSiteGateway"); + options.Scope.Add("ProductService"); + options.Scope.Add("BloggingService"); + options.ClaimActions.MapAbpClaimTypes(); +}); +``` + +- It adds "Cookies" authentication as the primary authentication type. +- "oidc" authentication is configured to use the AuthServer application as the authentication server. +- It requires the additional identity scopes *role*, *email* and *phone*. +- It requires the API resource scopes *PublicWebSiteGateway*, *BloggingService* and *ProductService* because it will use these services as APIs. + +IdentityServer client settings are stored inside the `appsettings.json` file: + +```json +"AuthServer": { + "Authority": "http://localhost:64999", + "ClientId": "public-website-client", + "ClientSecret": "1q2w3e*" +} +``` + +#### User Interface + +The PublicWebSite.Host project has a page to list products (`Pages/Products.cshtml`). It also uses the UI from the blogging module. `PublicWebSiteHostModule` adds dependencies to `BloggingWebModule` (*[Volo.Blogging.Web](https://www.nuget.org/packages/Volo.Blogging.Web)* package) for that purpose. + +A screenshot from the Products page: + +![microservice-sample-public-product-list](../images/microservice-sample-public-product-list.png) + +#### Using Microservices + +Publc web site application uses the Blogging and Product microservices for all operations, over the Public Web Site Gateway (PublicWebSiteGateway.Host). + +##### Remote End Point + +`appsettings.json` file contains the `RemoteServices` section to declare the remote service endpoint(s). Each microservice will normally have different endpoints. However, this solution uses the API Gateway pattern to provide a single endpoint for the applications: + +```json +"RemoteServices": { + "Default": { + "BaseUrl": "http://localhost:64897/" + } +} +``` + +`http://localhost:64897/` is the URL of the *PublicWebSiteGateway.Host* project. It knows where are Blogging and Product services are located. + +##### HTTP Clients + +`PublicWebSiteHostModule` class declares dependencies for `BloggingHttpApiClientModule` and `ProductManagementHttpApiClientModule` to be able to use remote HTTP APIs for these services. + +##### Passing the Access Token + +Just like explained in the Backend Admin Application section, Public Web Site project also uses the `AbpHttpClientIdentityModelModule` to pass `access_token` to the calling services for authentication. + +#### Dependencies + +- **Redis** for distributed/shared caching. +- **Elasticsearch** for storing logs. + +### Console Client Demo + +Finally, the solution includes a very simple console application, named ConsoleClientDemo, that uses Identity and Product services by authenticating through the AuthServer. It uses the Internal Gateway (InternalGateway.Host) to perform HTTP API calls. + +#### Remote Service Configuration + +`RemoteService` configuration in the `appsettings.json` file is simple: + +````json +"RemoteServices": { + "Default": { + "BaseUrl": "http://localhost:65129/" + } +} +```` + +`http://localhost:65129/` is the URL of the Internal Gateway. All API calls to the services are performed over this URL. + +#### Authentication (IdentityServer Client) Configuration + +`appsettings.json` also has a configuration for the IdentityServer authentication: + +````json +"IdentityClients": { + "Default": { + "GrantType": "client_credentials", + "ClientId": "console-client-demo", + "ClientSecret": "1q2w3e*", + "Authority": "http://localhost:64999", + "Scope": "InternalGateway IdentityService ProductService" + } +} +```` + +This sample uses the `client_credentials` grant type which requires a `ClientId` and `ClientSecret` for the authentication process. There are also [other grant types](http://docs.identityserver.io/en/latest/topics/grant_types.html). For example, you can use the following configuration to swith to the `password` (Resource Owner Password) grant type: + +````json +"IdentityClients": { + "Default": { + "GrantType": "password", + "ClientId": "console-client-demo", + "ClientSecret": "1q2w3e*", + "UserName": "admin", + "UserPassword": "1q2w3E*", + "Authority": "http://localhost:64999", + "Scope": "InternalGateway IdentityService ProductService" + } +} +```` + +Resource Owner Password requires a `UserName` & `UserPassword` in addition to client credentials. This grant type is useful to call remote services on behalf of a user. + +`Scope` declares the APIs (and the gateway) to grant access. This application uses the Internal Gateway. + +#### HTTP Client Dependencies + +`ConsoleClientDemoModule` has dependencies to `AbpIdentityHttpApiClientModule` and `ProductManagementHttpApiClientModule` in order to use Identity and Product APIs. It also has `AbpHttpClientIdentityModelModule` dependency to authenticate via IdentityServer. + +#### Using the Services + +Using the services is straightforward. See the `ClientDemoService` class which simply injects `IIdentityUserAppService` and `IProductAppService` and uses them. This class also shows a manual HTTP call using an `HttpClient` object. See source code of the `ClientDemoService` for details. + +## API Gateways / BFFs (Backend for Frontend) + +Gateways are used to provide a **single entry point** to the applications. In this way, an application only deal with a single service address (API endpoint) instead of a different addresses for each services. Gateways are also used for rate limiting, security, authentication, load balancing and many more requirements. + +"**Backend for Frontend**" (BFF) is a common architectural pattern which offers to build a **dedicated and specialized** gateway for each different application / client type. This solution uses this pattern and has multiple gateways. + +This solution uses the [Ocelot](https://github.com/ThreeMammals/Ocelot) library to build API Gateways. It's a widely accepted API Gateway library for ASP.NET Core. + +### Backend Admin Application Gateway (BackendAdminAppGateway.Host) + +This is backend (server side API) for the "Backend Admin Application" (don't confuse about the naming; Backend Admin Application is a frontend web application actually, but used by system admins rather than regular users). + +#### Authentication + +This gateway uses IdentityServer `Bearer` authentication and configured like that: + +````csharp +context.Services.AddAuthentication("Bearer") +.AddIdentityServerAuthentication(options => +{ + options.Authority = configuration["AuthServer:Authority"]; + options.ApiName = configuration["AuthServer:ApiName"]; + options.RequireHttpsMetadata = false; + options.InboundJwtClaimTypeMap["sub"] = AbpClaimTypes.UserId; + options.InboundJwtClaimTypeMap["role"] = AbpClaimTypes.Role; + options.InboundJwtClaimTypeMap["email"] = AbpClaimTypes.Email; + options.InboundJwtClaimTypeMap["email_verified"] = AbpClaimTypes.EmailVerified; + options.InboundJwtClaimTypeMap["phone_number"] = AbpClaimTypes.PhoneNumber; + options.InboundJwtClaimTypeMap["phone_number_verified"] = + AbpClaimTypes.PhoneNumberVerified; + options.InboundJwtClaimTypeMap["name"] = AbpClaimTypes.UserName; +}); +```` + +`AddIdentityServerAuthentication` extension method comes from the [IdentityServer4.AccessTokenValidation](https://www.nuget.org/packages/IdentityServer4.AccessTokenValidation) package, part of the IdentityServer4 project (see [its documentation](http://docs.identityserver.io/en/latest/topics/apis.html)). + +`ApiName` is the API which is being protected, `BackendAdminAppGateway` in this case. So, this solution defines gateways as API resources. Rest of the configuration is related to claims mapping (which is planned to be automated in next ABP versions). The configuration related to authentication in the `appsettings.json` is simple: + +````json +"AuthServer": { + "Authority": "http://localhost:64999", + "ApiName": "BackendAdminAppGateway" +} +```` + +#### Ocelot Configuration + +Ocelot needs to know the real URLs of the microservices to be able to redirect HTTP requests. The configuration for this gateway is like below: + +````json +"ReRoutes": [ + { + "DownstreamPathTemplate": "/api/identity/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "localhost", + "Port": 63568 + } + ], + "UpstreamPathTemplate": "/api/identity/{everything}", + "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] + }, + { + "DownstreamPathTemplate": "/api/productManagement/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "localhost", + "Port": 60244 + } + ], + "UpstreamPathTemplate": "/api/productManagement/{everything}", + "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] + } +], +"GlobalConfiguration": { + "BaseUrl": "http://localhost:65115" +} +```` + +`ReRoutes` is an array of URL mappings. `BaseUrl` in the `GlobalConfiguration` section is the URL of this gateway (Ocelot needs to know its own URL). See [its own documentation](https://ocelot.readthedocs.io/en/latest/features/configuration.html) to better understand the configuration. + +Ocelot is a finalizer ASP.NET Core middleware and should be written as the last item in the pipeline: + +````csharp +app.UseOcelot().Wait(); +```` + +It handles and redirects requests based on the configuration above. + +#### ABP Configuration Endpoints + +ABP provides some built-in APIs to get some configuration and information from the server. Examples: + +* `/api/abp/application-configuration` returns localization texts, permission and setting values (try http://localhost:65115/api/abp/application-configuration for this gateway). +* `/Abp/ServiceProxyScript` returns dynamic javascript proxies to call services from a javascript client (try http://localhost:65115/Abp/ServiceProxyScript for this gateway). + +These endpoints should be served by the gateway service, not by microservices. A microservice can only know permissions related to that microservice. But, once properly configured, gateway can aggregate permission values for multiple services as a single list which is more suitable for clients. + +For this purpose, the ASP.NET Core pipeline was configured to handle some specific routes via MVC, instead of Ocelot. To make this possible, MapWhen extension method is used like that: + +````csharp +app.MapWhen(ctx => ctx.Request.Path.ToString().StartsWith("/api/abp/") || + ctx.Request.Path.ToString().StartsWith("/Abp/"), + app2 => + { + app2.UseMvcWithDefaultRouteAndArea(); + }); + +app.UseOcelot().Wait(); +```` + +This configuration uses standard MVC middleware when request path starts with `/api/abp/` or `/Abp/`. + +#### Swagger + +This gateway is configured to use the [swagger UI](https://swagger.io/tools/swagger-ui/), a popular tool to discover & test HTTP APIs. Normally, Ocelot does not support to show APIs on the swagger, because it can not know details of each microservice API. But it is possible when you follow ABP layered module architecture [best practices](../Best-Practices/Index.md). + +`BackendAdminAppGatewayHostModule` adds dependency to `AbpIdentityHttpApiModule` (*[Volo.Abp.Identity.HttpApi](https://www.nuget.org/packages/Volo.Abp.Identity.HttpApi)* package) and `ProductManagementHttpApiModule` (*ProductManagement.HttpApi* project) to include their HTTP API Controllers. In this way, swagger can discover them. While it references to the API layer, it does not reference to the implementation of application services, because they will be running in the related microservice endpoints and redirected by the Ocelot based on the request URL. + +Anyway, when you open the URL `http://localhost:65115/swagger/index.html`, you will see APIs of all configured microservices. + +#### Permission Management + +Backend Admin Application provides a permission management UI (seen before) and uses this gateway to get/set permissions. Permission management API is hosted inside the gateway, instead of a separate service. This is a design decision, but it could be hosted as another microservice if you would like. + +#### Dependencies + +- **RabbitMQ** for messaging to other services. +- **Redis** for distributed/shared caching. +- **Elasticsearch** for storing logs. + +### Public Web Site Gateway (PublicWebSiteGateway.Host) + +This is backend (server side API gateway) for the "Public Web Site" application. + +#### Authentication + +This gateway uses IdentityServer `Bearer` authentication and configured like that: + +```csharp +context.Services.AddAuthentication("Bearer") +.AddIdentityServerAuthentication(options => +{ + options.Authority = configuration["AuthServer:Authority"]; + options.ApiName = configuration["AuthServer:ApiName"]; + options.RequireHttpsMetadata = false; + options.InboundJwtClaimTypeMap["sub"] = AbpClaimTypes.UserId; + options.InboundJwtClaimTypeMap["role"] = AbpClaimTypes.Role; + options.InboundJwtClaimTypeMap["email"] = AbpClaimTypes.Email; + options.InboundJwtClaimTypeMap["email_verified"] = AbpClaimTypes.EmailVerified; + options.InboundJwtClaimTypeMap["phone_number"] = AbpClaimTypes.PhoneNumber; + options.InboundJwtClaimTypeMap["phone_number_verified"] = + AbpClaimTypes.PhoneNumberVerified; + options.InboundJwtClaimTypeMap["name"] = AbpClaimTypes.UserName; +}); +``` + +`AddIdentityServerAuthentication` extension method comes from the [IdentityServer4.AccessTokenValidation](https://www.nuget.org/packages/IdentityServer4.AccessTokenValidation) package, part of the IdentityServer4 project (see [its documentation](http://docs.identityserver.io/en/latest/topics/apis.html)). + +`ApiName` is the API which is being protected, `PublicWebSiteGateway` in this case. Rest of the configuration is related to claims mapping (which is planned to be automated in next ABP versions). The configuration related to authentication in the `appsettings.json` is simple: + +```json +"AuthServer": { + "Authority": "http://localhost:64999", + "ApiName": "PublicWebSiteGateway" +} +``` + +#### Ocelot Configuration + +Ocelot needs to know the real URLs of the microservices to be able to redirect HTTP requests. The configuration for this gateway is like below: + +```json +"ReRoutes": [ + { + "DownstreamPathTemplate": "/api/productManagement/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "localhost", + "Port": 60244 + } + ], + "UpstreamPathTemplate": "/api/productManagement/{everything}", + "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] + }, + { + "DownstreamPathTemplate": "/api/blogging/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "localhost", + "Port": 62157 + } + ], + "UpstreamPathTemplate": "/api/blogging/{everything}", + "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] + } +], +"GlobalConfiguration": { + "BaseUrl": "http://localhost:64897" +} +``` + +See [its own documentation](https://ocelot.readthedocs.io/en/latest/features/configuration.html) to better understand the Ocelot configuration. + +#### Other + +See the "ABP Configuration Endpoints" and "Swagger" topics inside the "Backend Admin Application Gateway" section which are very similar for this gateway. + +#### Dependencies + +- **RabbitMQ** for messaging to other services. +- **Redis** for distributed/shared caching. +- **Elasticsearch** for storing logs. + +### Internal Gateway (InternalGateway.Host) + +This gateway is not a BFF. It is designed for inter-microservice communication and is not exposed publicly. + +#### Authentication + +This gateway uses IdentityServer `Bearer` authentication and configured like that: + +```csharp +context.Services.AddAuthentication("Bearer") +.AddIdentityServerAuthentication(options => +{ + options.Authority = configuration["AuthServer:Authority"]; + options.ApiName = configuration["AuthServer:ApiName"]; + options.RequireHttpsMetadata = false; + options.InboundJwtClaimTypeMap["sub"] = AbpClaimTypes.UserId; + options.InboundJwtClaimTypeMap["role"] = AbpClaimTypes.Role; + options.InboundJwtClaimTypeMap["email"] = AbpClaimTypes.Email; + options.InboundJwtClaimTypeMap["email_verified"] = AbpClaimTypes.EmailVerified; + options.InboundJwtClaimTypeMap["phone_number"] = AbpClaimTypes.PhoneNumber; + options.InboundJwtClaimTypeMap["phone_number_verified"] = AbpClaimTypes.PhoneNumberVerified; + options.InboundJwtClaimTypeMap["name"] = AbpClaimTypes.UserName; +}); +``` + +`AddIdentityServerAuthentication` extension method comes from the [IdentityServer4.AccessTokenValidation](https://www.nuget.org/packages/IdentityServer4.AccessTokenValidation) package, part of the IdentityServer4 project (see [its documentation](http://docs.identityserver.io/en/latest/topics/apis.html)). + +`ApiName` is the API which is being protected, `InternalGateway` in this case. Rest of the configuration is related to claims mapping (which is planned to be automated in next ABP versions). The configuration related to authentication in the `appsettings.json` is simple: + +```json +"AuthServer": { + "Authority": "http://localhost:64999", + "ApiName": "InternalGateway" +} +``` + +#### Ocelot Configuration + +Ocelot needs to know the real URLs of the microservices to be able to redirect HTTP requests. The configuration for this gateway is like below: + +```json +"ReRoutes": [ + { + "DownstreamPathTemplate": "/api/identity/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "localhost", + "Port": 63568 + } + ], + "UpstreamPathTemplate": "/api/identity/{everything}", + "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] + }, + { + "DownstreamPathTemplate": "/api/productManagement/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "localhost", + "Port": 60244 + } + ], + "UpstreamPathTemplate": "/api/productManagement/{everything}", + "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] + }, + { + "DownstreamPathTemplate": "/api/blogging/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "localhost", + "Port": 62157 + } + ], + "UpstreamPathTemplate": "/api/blogging/{everything}", + "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] + } +], +"GlobalConfiguration": { + "BaseUrl": "http://localhost:65129" +} +``` + +`ReRoutes` configuration covers all microservices in the system. See [its own documentation](https://ocelot.readthedocs.io/en/latest/features/configuration.html) to better understand the Ocelot configuration. + +#### Other + +See the "ABP Configuration Endpoints" and "Swagger" topics inside the "Backend Admin Application Gateway" section which are very similar for this gateway. + +#### Dependencies + +- **RabbitMQ** for messaging to other services. +- **Redis** for distributed/shared caching. +- **Elasticsearch** for storing logs. + +## Microservices + +Microservices are standalone HTTP APIs those implement the business of the system in a distributed manner. + +* They are used by applications and other microservices through the gateways and HTTP APIs. +* They can raise or register to events in the system. +* They can communicate to each other via asynchronous messaging. + +### Identity Service (IdentityService.Host) + +This service provides user and role management APIs. + +#### Database + +Shares the same database (MsDemo_Identity) with the AuthServer application. + +#### Identity Module + +This service actually just hosts the ABP Identity package/module. Does not include any API itself. In order to host it, adds the following dependencies: + +* `AbpIdentityHttpApiModule` (*[Volo.Abp.Identity.HttpApi](https://www.nuget.org/packages/Volo.Abp.Identity.HttpApi)* package) to provide Identity APIs. +* `AbpIdentityApplicationModule` (*[Volo.Abp.Identity.Application](https://www.nuget.org/packages/Volo.Abp.Identity.Application)* package) to host the implementation of the application and domain layers of the module. +* `AbpIdentityEntityFrameworkCoreModule` (*[Volo.Abp.Identity.EntityFrameworkCore](https://www.nuget.org/packages/Volo.Abp.Identity.EntityFrameworkCore)* package) to use EF Core as database API. + +See the [module architecture best practice guide](../Best-Practices/Module-Architecture) to understand the layering better. + +#### Authentication + +This microservice uses IdentityServer `Bearer` authentication and configured like that: + +```csharp +context.Services.AddAuthentication("Bearer") +.AddIdentityServerAuthentication(options => +{ + options.Authority = configuration["AuthServer:Authority"]; + options.ApiName = configuration["AuthServer:ApiName"]; + options.RequireHttpsMetadata = false; + options.InboundJwtClaimTypeMap["sub"] = AbpClaimTypes.UserId; + options.InboundJwtClaimTypeMap["role"] = AbpClaimTypes.Role; + options.InboundJwtClaimTypeMap["email"] = AbpClaimTypes.Email; + options.InboundJwtClaimTypeMap["email_verified"] = AbpClaimTypes.EmailVerified; + options.InboundJwtClaimTypeMap["phone_number"] = AbpClaimTypes.PhoneNumber; + options.InboundJwtClaimTypeMap["phone_number_verified"] = + AbpClaimTypes.PhoneNumberVerified; + options.InboundJwtClaimTypeMap["name"] = AbpClaimTypes.UserName; +}); +``` + +`ApiName` is the API which is being protected, `IdentityService` in this case. Rest of the configuration is related to claims mapping (which is planned to be automated in next ABP versions). The configuration related to authentication in the `appsettings.json` is simple: + +```json +"AuthServer": { + "Authority": "http://localhost:64999", + "ApiName": "IdentityService" +} +``` + +#### Swagger + +Swagger UI is configured and is the default page for this service. If you navigate to the URL `http://localhost:63568/`, you are redirected to the swagger page to see and test the API. + +#### Dependencies + +- **RabbitMQ** for messaging to other services. +- **Redis** for distributed/shared caching. +- **Elasticsearch** for storing logs. + +### Blogging Service (BloggingService.Host) + +This service hosts the blogging API. + +#### Database + +It has a dedicated MongoDB database (MsDemo_Blogging) to store blog and posts. It also uses the MsDemo_Identity SQL database for audit logs, permissions and settings. So, there are two connection strings in the `appsettings.json` file: + +````json +"ConnectionStrings": { + "Default": "Server=localhost;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true", + "Blogging": "mongodb://localhost|MsDemo_Blogging" +} +```` + +#### Blogging Module + +This service actually just hosts the ABP Blogging package/module. Does not include any API itself. In order to host it, adds the following dependencies: + +- `BloggingHttpApiModule` (*[Volo.Blogging.HttpApi](https://www.nuget.org/packages/Volo.Blogging.HttpApi)* package) to provide Blogging APIs. +- `BloggingApplicationModule` (*[Volo.Blogging.Application](https://www.nuget.org/packages/Volo.Blogging.Application)* package) to host the implementation of the application and domain layers of the module. +- `BloggingMongoDbModule` (*[Volo.Blogging.MongoDB](https://www.nuget.org/packages/Volo.Abp.Identity.EntityFrameworkCore)* package) to use MongoDB as the database. + +See the [module architecture best practice guide](../Best-Practices/Module-Architecture) to understand the layering better. + +#### Authentication + +This microservice uses IdentityServer `Bearer` authentication and configured like that: + +```csharp +context.Services.AddAuthentication("Bearer") +.AddIdentityServerAuthentication(options => +{ + options.Authority = configuration["AuthServer:Authority"]; + options.ApiName = configuration["AuthServer:ApiName"]; + options.RequireHttpsMetadata = false; + options.InboundJwtClaimTypeMap["sub"] = AbpClaimTypes.UserId; + options.InboundJwtClaimTypeMap["role"] = AbpClaimTypes.Role; + options.InboundJwtClaimTypeMap["email"] = AbpClaimTypes.Email; + options.InboundJwtClaimTypeMap["email_verified"] = AbpClaimTypes.EmailVerified; + options.InboundJwtClaimTypeMap["phone_number"] = AbpClaimTypes.PhoneNumber; + options.InboundJwtClaimTypeMap["phone_number_verified"] = + AbpClaimTypes.PhoneNumberVerified; + options.InboundJwtClaimTypeMap["name"] = AbpClaimTypes.UserName; +}); +``` + +`ApiName` is the API which is being protected, `BloggingService` in this case. Rest of the configuration is related to claims mapping (which is planned to be automated in next ABP versions). The configuration related to authentication in the `appsettings.json` is simple: + +```json +"AuthServer": { + "Authority": "http://localhost:64999", + "ApiName": "BloggingService" +} +``` + +#### IdentityServer Client + +This microservice also uses the Identity microservice API through the Internal Gateway, because it needs to query user details (username, email, phone, name and surname) in some cases. So, it is also a client for the IdentityServer and defines a section in the `appsettings.json` file for that: + +````json +"IdentityClients": { + "Default": { + "GrantType": "client_credentials", + "ClientId": "blogging-service-client", + "ClientSecret": "1q2w3e*", + "Authority": "http://localhost:64999", + "Scope": "InternalGateway IdentityService" + } +} +```` + +Since it uses the Internal Gateway, it should also configure the remote endpoint of the gateway: + +````json +"RemoteServices": { + "Default": { + "BaseUrl": "http://localhost:65129/", + "UseCurrentAccessToken": "false" + } +} +```` + +When you set `UseCurrentAccessToken` to `false`, ABP ignores the current `access_token` in the current `HttpContext` and authenticates to the AuthServer with the credentials defined above. + +Why not using the token of the current user in the current request? Because, the user may not have required permissions on the Identity module, so it can not just pass the current authentication token directly to the Identity service. In addition, some of the blog service APIs are anonymous (not requires authenticated user), so in some cases there is no "current user" in the HTTP request. For these reasons, Blogging service should be defined as a client for the Identity service with its own credentials and permissions. + +If you check the `AbpPermissionGrants` table in the `MsDemo_Identity` database, you can see the related permission for the `blogging-service-client`. + +![microservice-sample-blogservice-permission-in-database](../images/microservice-sample-blogservice-permission-in-database.png) + +#### Swagger + +Swagger UI is configured and is the default page for this service. If you navigate to the URL `http://localhost:62157/`, you are redirected to the swagger page to see and test the API. + +#### Dependencies + +- **RabbitMQ** for messaging to other services. +- **Redis** for distributed/shared caching. +- **Elasticsearch** for storing logs. + +### Product Service (ProductService.Host) + +This service hosts the Product Management API. + +#### Database & EF Core Migrations + +It has a separated SQL database, named **MsDemo_ProductManagement**, for the product management module. It uses EF Core as the database provider and has a DbContext named `ProductServiceMigrationDbContext`: + +````csharp +public class ProductServiceMigrationDbContext : AbpDbContext +{ + public ProductServiceMigrationDbContext( + DbContextOptions options + ) : base(options) + { + + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + + modelBuilder.ConfigureProductManagement(); + } +} +```` + +Actual model configuration is done inside the `modelBuilder.ConfigureProductManagement()` extension method. This project maintains the database schema using EF Core migrations. + +Notice that this DbContext is only for database migrations. Product Management module has its own `DbContext` class that is used in the runtime (See `ProductManagementDbContext` class in the ProductManagement.EntityFrameworkCore project). + +There are two connection strings in the `appsettings.json` file: + +````json +"ConnectionStrings": { + "Default": "Server=localhost;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true", + "ProductManagement": "Server=localhost;Database=MsDemo_ProductManagement;Trusted_Connection=True;MultipleActiveResultSets=true" +} +```` + +`Default` connection strings points to the MsDemo_Identity database that is used for audit logging, permission and setting stores. `ProductManagement` connection string is used by the product module. + +#### Product Module + +This service actually just hosts the Product Management module. Does not include any API itself. In order to host it, adds the following dependencies: + +- `ProductManagementHttpApiModule` to provide product management APIs. +- `ProductManagementApplicationModule` to host the implementation of the application and domain layers of the module. +- `ProductManagementEntityFrameworkCoreModule` to use EF Core as database API. + +See the [module architecture best practice guide](../Best-Practices/Module-Architecture) to understand the layering better. See the Product Management module section below for more information about this module. + +#### Authentication + +This microservice uses IdentityServer `Bearer` authentication and configured like that: + +```csharp +context.Services.AddAuthentication("Bearer") +.AddIdentityServerAuthentication(options => +{ + options.Authority = configuration["AuthServer:Authority"]; + options.ApiName = configuration["AuthServer:ApiName"]; + options.RequireHttpsMetadata = false; + options.InboundJwtClaimTypeMap["sub"] = AbpClaimTypes.UserId; + options.InboundJwtClaimTypeMap["role"] = AbpClaimTypes.Role; + options.InboundJwtClaimTypeMap["email"] = AbpClaimTypes.Email; + options.InboundJwtClaimTypeMap["email_verified"] = AbpClaimTypes.EmailVerified; + options.InboundJwtClaimTypeMap["phone_number"] = AbpClaimTypes.PhoneNumber; + options.InboundJwtClaimTypeMap["phone_number_verified"] = + AbpClaimTypes.PhoneNumberVerified; + options.InboundJwtClaimTypeMap["name"] = AbpClaimTypes.UserName; +}); +``` + +`ApiName` is the API which is being protected, `ProductService` in this case. Rest of the configuration is related to claims mapping (which is planned to be automated in next ABP versions). The configuration related to authentication in the `appsettings.json` is simple: + +```json +"AuthServer": { + "Authority": "http://localhost:64999", + "ApiName": "ProductService" +} +``` + +#### Swagger + +Swagger UI is configured and is the default page for this service. If you navigate to the URL `http://localhost:60244/`, you are redirected to the swagger page to see and test the API. + +#### Dependencies + +- **RabbitMQ** for messaging to other services. +- **Redis** for distributed/shared caching. +- **Elasticsearch** for storing logs. + +## Modules + +ABP provides a strong infrastructure to make modular application development easier by providing services and architecture (see the [module development best practices guide](../Best-Practices/Index.md)). + +This solution demonstrate how to use [prebuilt application modules](../Modules/Index.md) in a distributed architecture. The solution also includes a simple "Product Management" module to show the implementation of a well layered module example. + +### Product Management + +Product Management is a module that consists of several layers and packages/projects: + +![microservice-sample-product-module-in-solution](../images/microservice-sample-product-module-in-solution.png) + +* `ProductManagement.Domain.Shared` contains constants and types shared among all layers. +* `ProductManagement.Domain` contains the domain logic and defines entities, domain services, domain events, business/domain exceptions. +* `ProductManagement.Application.Contracts` contains application service interfaces and DTOs. +* `ProductManagement.Application` contains the implementation of application services. +* `ProductManagement.EntityFrameworkCore` contains DbConext and other EF Core related classes and configuration. +* `ProductManagement.HttpApi` contains API Controllers. +* `ProductManagement.HttpApi.Client` contains C# proxies to directly use the HTTP API remotely. Uses [Dynamic C# API Clients](../AspNetCore/Dynamic-CSharp-API-Clients.md) feature of the ABP framework. +* `ProductManagement.Web` contains the UI elements (pages, scripts, styles... etc). + +By the help of this layering, it is possible to use the same module as a package reference in a monolithic application or use as a service that runs in another server. It is possible to separate UI (Web) and API layers, so they run in different servers. + +In this solution, Web layer runs in the Backend Admin Application while API layer is hosted by the Product microservice. + +This tutorial will highlight some important aspects of the module. But, it's suggested to see the source code for a better understanding. + +#### Domain Layer + +`Product` is the main [Aggregate Root](../Entities.md) of this module: + +````csharp +public class Product : AuditedAggregateRoot +{ + /// + /// A unique value for this product. + /// ProductManager ensures the uniqueness of it. + /// It can not be changed after creation of the product. + /// + [NotNull] + public string Code { get; private set; } + + [NotNull] + public string Name { get; private set; } + + public float Price { get; private set; } + + public int StockCount { get; private set; } + + //... +} +```` + +All of its properties have private setters which prevents any direct change of the properties from out of the class. Product class ensures its own integrity and validity by its own constructors and methods. + +It has two constructors: + +````csharp +private Product() +{ + //Default constructor is needed for ORMs. +} + +internal Product( + Guid id, + [NotNull] string code, + [NotNull] string name, + float price = 0.0f, + int stockCount = 0) +{ + Check.NotNullOrWhiteSpace(code, nameof(code)); + + if (code.Length >= ProductConsts.MaxCodeLength) + { + throw new ArgumentException( + $"Product code can not be longer than {ProductConsts.MaxCodeLength}" + ); + } + + Id = id; + Code = code; + SetName(Check.NotNullOrWhiteSpace(name, nameof(name))); + SetPrice(price); + SetStockCountInternal(stockCount, triggerEvent: false); +} + +```` + +Default (**parameterless**) constructor is private and is not used in the application code. It is needed because most ORMs requires a parameterless constructor on deserializing entities while getting from the database. + +Second constructor is **internal** that means it can only be used inside the domain layer. This enforces to use the `ProductManager` while creating a new `Product`. Because, `ProductManager` should implement a business rule on a new product creation. This constructor only requires the minimal required arguments to create a new product with some optional arguments. It checks some simple business rules to ensure that the entity is created as a valid product. + +Rest of the class has methods to manipulate properties of the entity. Example: + +````csharp +public Product SetPrice(float price) +{ + if (price < 0.0f) + { + throw new ArgumentException($"{nameof(price)} can not be less than 0.0!"); + } + + Price = price; + return this; +} + +```` + +`SetPrice` method is used to change the price of the product in a safe manner (by checking a validation rule). + +`SetStockCount` is another method that is used to change stock count of a product: + +````csharp +public Product SetStockCount(int stockCount) +{ + return SetStockCountInternal(stockCount); +} + +private Product SetStockCountInternal(int stockCount, bool triggerEvent = true) +{ + if (StockCount < 0) + { + throw new ArgumentException($"{nameof(stockCount)} can not be less than 0!"); + } + + if (StockCount == stockCount) + { + return this; + } + + if (triggerEvent) + { + AddDistributedEvent( + new ProductStockCountChangedEto( + Id, StockCount, stockCount + ) + ); + } + + StockCount = stockCount; + return this; +} + +```` + +This method also triggers a **distributed event** with the `ProductStockCountChangedEto` parameter (Eto is a conventional postfix stands for **E**vent **T**ransfer **O**bject, but not required) to notify listeners that stock count of a product has changed. Any subscriber can receive this event and perform an action based on that knowledge. + +Events are distributed by RabbitMQ for this solution. But ABP is message broker independent by providing necessary abstractions (see the [Event Bus](../Event-Bus.md) document). + +As said before, this module forces to always use the `ProductManager` to create a new `Product`. `ProductManager` is a simple domain service defined as shown: + +````csharp +public class ProductManager : DomainService +{ + private readonly IRepository _productRepository; + + public ProductManager(IRepository productRepository) + { + _productRepository = productRepository; + } + + public async Task CreateAsync( + [NotNull] string code, + [NotNull] string name, + float price = 0.0f, + int stockCount = 0) + { + var existingProduct = + await _productRepository.FirstOrDefaultAsync(p => p.Code == code); + + if (existingProduct != null) + { + throw new ProductCodeAlreadyExistsException(code); + } + + return await _productRepository.InsertAsync( + new Product( + GuidGenerator.Create(), + code, + name, + price, + stockCount + ) + ); + } +} +```` + +* It checks if given code is used before. Throws `ProductCodeAlreadyExistsException` so. +* If uses the `GuidGenerator` (`IGuidGenerator`) service to create a new `Guid`. +* It inserts the entity to the repository. + +So, with this design, uniqueness of the product code is guaranteed. + +`ProductCodeAlreadyExistsException` is a domain/business exception defined as like below: + +````csharp +public class ProductCodeAlreadyExistsException : BusinessException +{ + public ProductCodeAlreadyExistsException(string productCode) + : base("PM:000001", $"A product with code {productCode} has already exists!") + { + + } +} +```` + +`PM:000001` is a code for the exception type that is sent to the clients, so they can understand the error type. Not implemented for this case, but it is also possible to localize business exceptions. See the [exception handling documentation](../Exception-Handling.md). + +#### Application Layer + +Application layer of this module has two services: + +* `ProductAppService` is mainly used by the Backend Admin Application to manage (create, update, delete...) products. It requires permission to perform any operation. +* `PublicProductAppService` is used by the Public Web Site to show list of products to the visitors. It does not require any permission since most of the visitors are not logged in to the application. + +Notice that; instead of putting two application service into the same project, it might be a better principle to have separated application layers per application. But we unified them for simplicity in this solution. + +As an example, `ProductAppService` has the following method to update a product: + +````csharp +[Authorize(ProductManagementPermissions.Products.Update)] +public async Task UpdateAsync(Guid id, UpdateProductDto input) +{ + var product = await _productRepository.GetAsync(id); + + product.SetName(input.Name); + product.SetPrice(input.Price); + product.SetStockCount(input.StockCount); + + return ObjectMapper.Map(product); +} +```` + +* It defines the required permission (*ProductManagementPermissions.Products.Update* is a constant with value `ProductManagement.Update`) to perform this operation. +* Gets the id of the product and a DTO contains the values to update. +* Gets the related product entity from the repository. +* Uses the related methods (like `SetName`) of the `Product` class to change properties, because they are with private setters and the only way to change a value is to use an entity method. +* Returns an updated `ProductDto` to the client (client may need it for some reason) by using the [ObjectMapper](../Object-To-Object-Mapping.md). + +The implementation may vary based on the requirements. This implementation follows the [best practices offered here](../Best-Practices/Application-Services.md). + +#### Other Layers + +See other layers from the source code. + +## Infrastructure + +### Messaging and RabbitMQ + +Asynchronous Messaging is a key concept in distributed systems. It makes possible to communicate as a loosely coupled manner with fault tolerance. It does not require both sides to be online at the moment of messaging. So, it is a widely used communication pattern in microservice architecture. + +#### Distributed Event Bus + +Distributed Events (Event Bus) is a way of messaging where a service raise/trigger events while other services registers/listens to these events to be notified when an important event occurs. ABP makes distributed events easier to use by providing conventions, services and integrations. + +You have seen that the `Product` class publishing an event using the following code line: + +````csharp +AddDistributedEvent(new ProductStockCountChangedEto(Id, StockCount, stockCount)); +```` + +`ProductStockCountChangedEto` was defined as shown below: + +````csharp +[Serializable] +public class ProductStockCountChangedEto : EtoBase +{ + public Guid Id { get; } + + public int OldCount { get; set; } + + public int CurrentCount { get; set; } + + private ProductStockCountChangedEto() + { + //Default constructor is needed for deserialization. + } + + public ProductStockCountChangedEto(Guid id, int oldCount, int currentCount) + { + Id = id; + OldCount = oldCount; + CurrentCount = currentCount; + } +} +```` + +This object stores necessary information about the event. Another service can easily register to this event by implementing the `IDistributedEventHandler` interface with the generic `ProductStockCountChangedEto` parameter: + +````csharp +public class MyHandler : IDistributedEventHandler +{ + public async Task HandleEventAsync(ProductStockCountChangedEto eventData) + { + var productId = eventData.Id; + //... + } +} +```` + +All the integration and communication are done by the ABP framework when you use the [Volo.Abp.EventBus.RabbitMQ](https://www.nuget.org/packages/Volo.Abp.EventBus.RabbitMQ) package. If you need to publish events out of an entity, just inject the `IDistributedEventBus` and use the `PublishAsync` method. + +See the [Event Bus](../Event-Bus.md) documentation for more information about the distributed event system. + +#### RabbitMQ Configuration + +In this solution, [RabbitMQ](https://www.rabbitmq.com/) is used for messaging & distributed events. + +[Volo.Abp.EventBus.RabbitMQ](https://www.nuget.org/packages/Volo.Abp.EventBus.RabbitMQ) package is required to integrate to the RabbitMQ for distributed event system. Then you need to add dependency to the `AbpEventBusRabbitMqModule` for your module. For example, `ProductServiceHostModule` declares this dependency. + +`AbpEventBusRabbitMqModule` gets configuration from the `appsettings.json` by default. For example, the Product Service has such a configuration: + +````json +"RabbitMQ": { + "Connections": { + "Default": { + "HostName": "localhost" + } + }, + "EventBus": { + "ClientName": "MsDemo_ProductService", + "ExchangeName": "MsDemo" + } +} +```` + +### Caching and Redis + +A distributed system obviously needs to a distributed and shared cache, instead of isolated in-memory caches for each service. + +[Redis](https://redis.io/) is used as a distributed cache in this solution. The solution uses Microsoft's standard [Microsoft.Extensions.Caching.Redis](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Redis) package for integration. All applications and services uses Redis cache when you use and configure this package. See [Microsoft's documentation](https://docs.microsoft.com/en-us/aspnet/core/performance/caching/distributed) for more. + +The solution also uses the [Microsoft.AspNetCore.DataProtection.StackExchangeRedis](https://www.nuget.org/packages/Microsoft.AspNetCore.DataProtection.StackExchangeRedis) package to share data protection keys between applications and services over Redis cache. + +### Logging, Serilog, Elasticsearch and Kibana + +This solution uses [Serilog](https://serilog.net/) as a logging library. It is a widely used library which has many data source integrations including [Elasticsearch](https://www.elastic.co/products/elasticsearch). + +Logging configurations are done in `Program.cs` files using a code block similar to the given below: + +````csharp +Log.Logger = new LoggerConfiguration() + .MinimumLevel.Debug() + .MinimumLevel.Override("Microsoft", LogEventLevel.Information) + .Enrich.WithProperty("Application", "ProductService") + .Enrich.FromLogContext() + .WriteTo.File("Logs/logs.txt") + .WriteTo.Elasticsearch( + new ElasticsearchSinkOptions(new Uri(configuration["ElasticSearch:Url"])) + { + AutoRegisterTemplate = true, + AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv6, + IndexFormat = "msdemo-log-{0:yyyy.MM}" + }) + .CreateLogger(); +```` + +This configures multiple log target: File and Elasticsearch. `Application` property is set to `ProductService` for this example. This is a way of distinguishing the logs of multiple services in a single database. You can then query logs by the `Application` name. + +Elasticsearch URL is read from the `appsettings.json` configuration file: + +````json +"ElasticSearch": { + "Url": "http://localhost:9200" +} +```` + +If you use Kibana, which is a Visualization tool that is well integrated to Elasticsearch, you can see some fancy UI about your logs: + +![microservice-sample-kibana-2](../images/microservice-sample-kibana-2.png) + +*Figure - A dashboard that shows log and error counts by service/application.* + +![microservice-sample-kibana-1](../images/microservice-sample-kibana-1.png) + +*Figure - A list of log entries* + +Kibana URL is `http://localhost:5601/` by default. + +### Audit Logging + +ABP provides automatic audit logging which saves every request in detail (who is the current user, what is the browser/client, what actions performed, which entities changed, even which properties of entities has been updated). See the [audit logging document](../Audit-Logging.md) for details. -### 身份认证服务 +All of the services and applications are configured to write audit logs. Audit logs are saved to the MsDemo_Identity SQL database. So, you can query all audit logs of all applications from a single point. -... \ No newline at end of file +An Audit Log record has a `CorrelationId` property that can be used to track a request. When a service calls another service in a single web request, they both save audit logs with the same `CorrelationId`. See the `AbpAuditLogs` table in the database. \ No newline at end of file diff --git a/docs/zh-Hans/images/microservice-sample-authserver-home.png b/docs/zh-Hans/images/microservice-sample-authserver-home.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae62ad6d5e0946480a1eeaa3f3e77eea05fa85f GIT binary patch literal 15896 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�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 L%Lr8q=mq=_z{tee literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/microservice-sample-authserver-login.png b/docs/zh-Hans/images/microservice-sample-authserver-login.png new file mode 100644 index 0000000000000000000000000000000000000000..f6e8dfaa9f3ce2c3c25a8cca66d669225a49bac6 GIT binary patch literal 12713 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/microservice-sample-backend-ui.png b/docs/zh-Hans/images/microservice-sample-backend-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..0935a6047a5cdaa09c28db4bd12132a1f00308b3 GIT binary patch literal 45686 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%0DCU^YL)bm$?3 zU@{Rh`CxdMB%lUZK+Qb#81U@B9}_%zSUjM@7!BULv*ESB36-zK-4c62B%`cfOr9O= zXqUnSjDJK8vf%|GM0zK42vuwS8LZt?8eHV_K^X~cb%dMc{hqm4PdgqL)@Q@3qc(ZM zYU?Go(v|;0An$UpW39uhQy10pFSL(Xo<{N3t@zMw%hngt_)i4M<ni8^dSR?c6XelG16$N> zkj%g*x$ta^&xF*IoN@*y?Z!F*S-s(|c1b|VckgI8E!kPjXNoEczOJas8gN=%ggCwI zUE`$Jt2=O^AR0y~X2slfDH-h4QhbC_K71~#9o(Htq>AhdXc+Zib{`{} z7O8QZtv}>&c>xyKF{)5tx4nS|ucTVRF=%$!t(J*4`(`}L?2WOml!jfkE*|*g!_Qqyz(I(y6*Ogs@t@x6YYwDD>Pl>Qe`9 zwjLi6#T60q5?^NNxj_K+ws>rvmg~-N(qsW|%7gFxsDiN+1mj%8E}Hbx%S!-Qu=6Kn zt*4DUM-XjJT2ky3o<7qGq(Zr4`n7hV6`40xvs4iId2XQuw)bZ%vO@W5kB<+#q%=E2 zZ9b5W0i<@ zk39m3s3Ng&ovA^J1#%|uWSVa~iB3-8^FM#@mo4e>JziHmRew_h{4R~NDvY*X`3QDA zKs_^R=j?;yer=oKT0d3ZLmP)uJoyWWW@h=N3dSoKA*n5$UvGH>rJ8@qM=-KnD0IN3 zuNuM)HWgpmt{WBH2S$#0#*_r#Ir1YLQ~30o30JDG39Ec1%i$ z!;uzvKGH+{W=*$=o`-W2y14Q$MU>Y~XuJ)LM=e5b68W=Q>2SA&*tRX2uK6Rw(y+ty zYd2^g>F%bY&>S5DuB9%%?bxUs;QzEg6?-EKJ;+KS$5VERnvILJ_o98}>KiTmxUcPU zr9Cq$14M^1shF<$v=(pe9{?o;06-oo+-BZ|()*v09i6m#L)`iWR1_W!z9LzkF8|K$jO{p!K*SL&H(?s^9UsCuD2r zHO84lC|g>7zbQEqa8LO2Pe6z?yrKN*6?XF3TKhQYMSHf|i#5XkMiu|}Dtd7VN>))E zZDGN;4zHcFx|!ib4IrI6vjyFo#jdm^4>dJ{!1rE-Li*1`@w-GX6VVlq?dT9)Z;!RigP?aB?VyW02+6 zE4Pwb2-^CYMKc2fE}mZgV1}?p!UvK?n$S?J6QzShtkE1<%bB{A0;bs?;=>UZlOj@+ zVRR%rL3V*Zk*7(eT2voj{K^{RXeW;zk_0aw(mcl=yiUuT8O>9(!#p2z=F-B*6K`9$4P zp)GCk;#S-W6nAJLxJ$4gZE<&p(9+^o+@ZL;dnp=dfZ*l!iA4_!|f`|zr!xqG_J;R(^R*b=x8ltG3T zoLtRab{=Kp4c|0J-}s$H3qrc%;3|Zh3KMes{v%@j)l^=E8~F|t_%UG0{!K>?dBt+} z(rxstB!TAm_!+sMh*wQ9WGD2mDqL3~``%*YkrZk?lrTWkUF5^KUh;wG1GNeIE}>LeMOqDKY73pxm~REiof`Rg-&r=-C^jl ze5B6CK$04chb@{;+?Q%*1QHV$l!t7}xVjCX!p`3a2W)2A{%aFsy zQZb(M7M^0?So`Z*uQG?@M&s1Jsq>9Tf6rt+`PZ_q3MRd;q1J8dziVIDjCwJYlYdor+aG8UI{nxsxhCOtzm}5aib|-O3SN*lL3;3B_Vx;xic%*M8h#RzLZk1L_`AbDs`QK(rh2e8}b6 z8XxLt+qV}N^Bj>%4z9jWTe$>n{ytXF5>!yzXiGBgoS}c*WcXmquZP9fKcv4{wcO)( z>z}s4#VPCi8X{cu&XL&(Fi!etKI#3sSk#6F^$;aEOGE+;&$+7KW{*}v#WUY&Th+3} zkee%FIa6)nR=O=suayr-|=8-ZuxGBOY(&t*mf#v)dw9IXp zS5<$j9cQSnDGZPE-}2=5)PKq!0HW*CoqtaiZ~P02B^*!r(YOyI*D^ac+Pwbiz#@&< zy3C+MH@t_`k}G?G&Efv&Wj`qod>dw}R|gw{NqA-nzdD;ny<~&PZhE~KI9EdA44Qx70!Kr$D798pp{MzR3997hJG)G= zWZ}T`7qy9Cuno24E7MrCR5n1PrlHP>)*98kJ0(HoR%VEi7_f_(RawUZqq)w9xZ{|S znl6O6oDmV2#2cL2cveO@nQ<((%Y3E+w8DadnZYO+LNJ6!I=LTX(}^ejdt^hidUR@> zmIT*+@5d0@v8e41KXiUc*UIYA3NpW$vzz*a`;aO@5i8S(mcPhsmmq{Xcp$TJSy^yaz)Sg?}_3-a4d_s)OK$TxKg2}Vw6 zzh-H6q25qZH^Er<`uEOhu3+aH)rrazJ5E%cGu;XD(`)2)DDR3*C*sp<4SDW#vc$vA z+Pf9*`m#$eTIRAFWN-{4-G|S2`xatV_f=Hm1p>pIOwGIz!Z~zR2<0 zqp}uqBOz^NE_V7VJJ*ppB#UZI_NFP&C3fpBwVy(8ex$V>7gTF}MQ+MDP< zCD`?ULg=z13P2X}bwUt=f9tsGQZ<6QQ>!QkO>T*-B%Jo5n5C%x{l`=lm9o$_dx10> z?f;MnR*;3bYs;y$(wOa<0MwsITZ|>JIs(U@8LIdW@WFho({@zp?-yzDMktFLYMd|A zzf|cUO{e`W0HZ#~T-M2(GBczHWewWH?yb-mvsck}-=^+r~ zWdwze?30*_1YwBbkR<~B`O1+4jtVHP%+2iQ#s@z1#j%;M6O2w|;Qg7@9xakDrlQiI zw;f=6ba>AoR&f)zWkhyi^y!w>$*nA=8O5~6`xQV$fl4 z?dfwiu;D)=>iVN7UZCf$20q(D$keXz`QyqBugIu=_$t;@gk@uK_A2!G2aBJ{NG8u> z@DbWg0m`-b{d~8?^s|-mXR9J%9mCx-lQPlo>lGb2r>5%tR!DL3IG+sH4m|#j%qi|7rq2uZ(0}!j)Pwo8eu}39!8P;M$ zMejkJC790NlP3?wBigo`oCATYKX#PKnQ6S@e0O}}wrdqq_k-<_g2vZP73qvA{h>JV z`A-jrjfuTy`hAaFAFO8{$vZMIUws!8gXje1oNyS(Hl(qPz-<>`Asal>;lVOjDspoB zIs6>dqF>$bdjr-W%^Iga77cE{YtC~t-vds7&nNDp9~>yhnQfVy`_NW$Zzi@~91Mm2 z5>V59lSTf_uX+{MxGIGBtY795$G7M?u#mpe>&Xuh7_1j;X}qNne-!OumCFaW8QDRY zy%itVdxBS3Wu(Fb%{gLfN)cm|^G&I#ams1UezuKrmh`!{^o3ittt&h;(ZN>EIb$Y$ zSL`+DI!)oo{59WkzWerz=>#A(;I-D$x9>90)Updopo2a?+pzw=U-wM`{<~PJ{khr7 z1^cX3QjpuzfEzDzx-XTv&kJ>iP?Rr~rOjDZ>&L%b%`@>)GuRVGZo6M~=5-b1mm8|nfOPJrJNm5)V{ni?frC8bJW!7=nU5<2BB)}{n$Z#U99O2l$?rv$+ z3P$QJ$8Tctt%j_}!D-*ZS;H{-)gv+7czzozYdO=KHAD2qE@UpKt<_-aK{V#bvY+)`0@WqBLr#pW@)}S+??Gig7-+2f zoR3m*JL{l+-mtFz!_G)kq%U3+{k+eqL^e22A9#M%p=^j;`X0KgElRSgzO)^c@wtc& z;BrQl**0aF6x*j*CJogWZaw)B*nc#`+5s#q8<}walNy1}YL_8Q?1?<@I@#g~@xt(( z(H`obgy}VjJvF67EV>&EcpZE}1YUDt*<;GaTWq_@okUl5kN>GQ=P*>`$N~@0n*HVU zt?0f9nDSnz-{fnCy(F1kKU=XTHENjVy)UcAvJpx8AZdVtEuOe#_7m_Wt?=2(#tKim zC>c*2)W}2{G-;^ctpbM^ecRRFmv?jtuFN&`iIWOAbzT_XOc1iQ)w*k#pc0nD9f6-8 z6`4kWfR@+ntz*x9-Y#V$cS@~GEpPuiY{G9L8QI!C!lwHT8bUmrcrc&D8LBkmtS13Y ztcBCpPD=)=?>)A(NHBr!FK#U`-LQMAz(cfkC?8(4LwsV!*OOz$yTH1Hv`pZv@FAob zfv#^ZdMZkcA~l!DJ(2Jo+9ocyrK{`GGKFydNL#E(h{s)Cd2~@kKt}%MSa=Qf+#fhj zbmSesP4T7C=0q=$!F-V!&Rk+zJW^d3gYcd@2!k@27j7rd>Llr5nfe_cX#tLgp777M zYF4mtI+%BF;04Ye;qnpY=YPM^6!SVg{m#)5wqtH-{;QiwAygoF=pqo9N4405uo>c( zJ5wXf=ac?UKj2K`|2=X850`l+f|OnAN)F~&$5GMjMRTak3+jU@XWjFA@evBiX9Gry zQIAG_y-uihiiKpSk}_t~Erp&_*n7rt`)zezQFU-1sU060&clg_!OX1iW5g`2B1Ke( zOq#yI2+@4eq9He<61fbwZxH8ixe&A4WDKE3;F6(665rAeRrU&RvDw zq0l?$oj+*o-uow*DN&grwOan}+@ni<9Q*QyGtOTs+tsU4qPL#e&q{ouFaJ0%B8E`; zpC9-&&IE*!P9`RLaw?YGu`8H;g9CInezh9D-1nS&Iw-VrHLYn$&}x#hX7sRun~8>A zY)H9NM-4&dHqeu*>zJ$25ih-ZmKra*aS8?5t*Lo&o~}}4bdLxg;`8j4P}w^jU!)V^ zXJ-dtR@sheG~wHu9?LF{dghzj5^UBFXZZe}a0l8TAo-r4A+tc4LQA3AbM$wJ@#FD6 zJfT<-M(gp#U$EvaWPKl9H-oY&xpJFjq!y0xqR@f0GoMN>g(%vjJ_1C>!O{8i#HcL0MAIo5J}=;B^kR1*|ZD!b8! z@Pp5;oZBAuzVK@~SG?&D4V5j^(yw+6W9^vt9vB4A1hfmSCH^I&k%}6OO>6%ntmnl7-Ro`&2?3%MDHt&ShqEk#fN5$CkcNnO6d)IH9nZ{VibMt9WFZ%RJ z1izl#h7(one7{->X5V#$rkTvTcw?em?%kQJ>&!F)J=qc1+baRkBuMmaNy#cUn?CU) z&y#Dg*XAC_wB;eoG)_&n)Ne^oaXuqt#9vu4E^3UUR$%YK)&2##17xm}oARW6=~ zw4S?s?F`R{gD<{~yci)lk>opUq!(&dvvb^^$MPk=l9@LEN4^8Im%f((T|3RT7#-2^ z3)ZPR>UqzZ&fNqK6AKp}8u|2vkh01^u@`)Ut*0^^hy23s=}Fn|6G#C;jX@q9#9I8- z+uIg=76aXwA8&>mt=y+`J`Os^j2*Hl@Bf;8g!U_-U5{`V84_IB@FTlDLm#n2hljV{ zn{_B>imui}ztoeMqJ3KVLpGgGhK1FzIWaa}&(wwv0IbsW1b$h1&26`l7; LVIoX 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/microservice-sample-blogservice-permission-in-database.png b/docs/zh-Hans/images/microservice-sample-blogservice-permission-in-database.png new file mode 100644 index 0000000000000000000000000000000000000000..f99cd398937c184b7956ceed0fbdb64b2c220f67 GIT binary patch literal 3304 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 Cig7{! literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/microservice-sample-kibana-1.png b/docs/zh-Hans/images/microservice-sample-kibana-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f3a51bd3496495936299cad2e9d15be6a6a80488 GIT binary patch literal 79209 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/microservice-sample-kibana-2.png b/docs/zh-Hans/images/microservice-sample-kibana-2.png new file mode 100644 index 0000000000000000000000000000000000000000..31b281486cf9afeefc5f208b836a5ca343c1a63e GIT binary patch literal 54003 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/microservice-sample-product-module-in-solution.png b/docs/zh-Hans/images/microservice-sample-product-module-in-solution.png new file mode 100644 index 0000000000000000000000000000000000000000..27e841cdd569dfc7833650dbc9e0511fb80cef03 GIT binary patch literal 12817 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