- ABP Framework version: v3.3.1
- UI type: Angular
- Tiered (MVC) or Identity Server Seperated (Angular): yes
Hi there,
We are trying to create a project using the microservices styling and we are currently refering to (https://docs.abp.io/en/abp/latest/Samples/Microservice-Demo) and it's source code however we are a little bit confused in the BFFs project. From what we understand, the purpose of the gateway is to become a single point of entry and redirect the request to the relavant microservice but our confussion come where we noticed that the the project still depends on multiple (probably unrelated module) such as the Mysql module. Could anyone help us understand further about this and if possible could ABP team create a better guide on creating microservice since the current documentation doesn't explain much about creating one but just explaining the sample that was created. It would be nice to have a microservice template as well
Thanks in advance
6 Answer(s)
-
0
Hi,
Any help regarding this issue would be appreciated
-
0
what's your specific question?
-
0
Hi,
For the gateway that reroute the request from the host to microservice, why does in sample project the database module is depended on. Do we have to depend on database module as well?
Is there any plan on writing a better documentation on Microservice architecture considering abp.io promoted microservice as one of it functionality
-
0
1- I don't see a database module in the BackendAdminAppGatewayHostModule
2- writing a microservice documentation that covers all kinds of structures is impossible. every microservice solution must be custom tailored for the requirements. therefore you need build your own service structure. this is a sample that shows you can build a microservice solution with ABP.
-
0
For number 1,
[DependsOn( typeof(AbpAutofacModule), typeof(AbpIdentityHttpApiModule), typeof(AbpIdentityHttpApiClientModule), typeof(ProductManagementHttpApiModule), typeof(AbpEntityFrameworkCoreSqlServerModule), typeof(AbpPermissionManagementEntityFrameworkCoreModule), typeof(AbpPermissionManagementApplicationModule), typeof(AbpPermissionManagementHttpApiModule), typeof(AbpSettingManagementEntityFrameworkCoreModule), typeof(BloggingApplicationContractsModule), typeof(AbpPermissionManagementDomainIdentityModule), typeof(AbpPermissionManagementDomainIdentityServerModule), typeof(AbpHttpClientIdentityModelWebModule), typeof(AbpTenantManagementApplicationContractsModule), typeof(AbpTenantManagementHttpApiModule), typeof(AbpTenantManagementHttpApiClientModule), typeof(AbpTenantManagementEntityFrameworkCoreModule), typeof(AbpFeatureManagementEntityFrameworkCoreModule), typeof(AbpFeatureManagementApplicationModule), typeof(AbpFeatureManagementHttpApiModule), typeof(AbpAspNetCoreMvcUiMultiTenancyModule) )]
There are multiple EFCoreModule references, is it really required? For number 2, That is acceptable answers
-
0
EFCore is required because of these modules: Tenant Management, PermissionManagement, SettingManagement
- https://github.com/abpframework/abp-samples/blob/master/MicroserviceDemo/gateways/BackendAdminAppGateway.Host/BackendAdminAppGateway.Host.csproj#L36
- https://github.com/abpframework/abp-samples/blob/master/MicroserviceDemo/gateways/BackendAdminAppGateway.Host/BackendAdminAppGateway.Host.csproj#L40
- https://github.com/abpframework/abp-samples/blob/master/MicroserviceDemo/gateways/BackendAdminAppGateway.Host/BackendAdminAppGateway.Host.csproj#L45