Open Closed

BFFs - Microservices #555


User avatar
0
aidid created
  • 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)
  • User Avatar
    0
    aidid created

    Hi,

    Any help regarding this issue would be appreciated

  • User Avatar
    0
    alper created
    Support Team Director

    what's your specific question?

  • User Avatar
    0
    aidid created

    Hi,

    1. 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?

    2. Is there any plan on writing a better documentation on Microservice architecture considering abp.io promoted microservice as one of it functionality

  • User Avatar
    0
    alper created
    Support Team Director

    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.

  • User Avatar
    0
    aidid created

    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
    
  • User Avatar
    0
    alper created
    Support Team Director

    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
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11