Open Closed

[IntegrationService] with gateway #6779


User avatar
0
DominaTang created

I read throw Abp's document about IntegrationService, there is one question, would abp gateway reject request to Integration Service by default in a Micro Services architect.

  • ABP Framework version: v7..2.X
  • UI Type: Angular / MVC / Blazor WASM / Blazor Server
  • Database System: EF Core (SQL Server, Oracle, MySQL, PostgreSQL, etc..) / MongoDB
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes/no
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

5 Answer(s)
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    The gateway has no routing for internal services by default, it should be 404 not found.

  • User Avatar
    0
    DominaTang created

    The gateway has no routing for internal services by default, it should be 404 not found.

    For inter-micro services communication, is there any special setting for [integration service] or just follow ABP's document regarding to communications between micro services.

  • User Avatar
    0
    gterdem created
    Support Team Senior .NET Developer

    The integration services are non authorized endpoints and they should not be exposed to gateways.

    There are two ways when using synchronous communication between microservices;

    • If you want to consume an exposed endpoint by a microservice which the internal service is authorized, you need to use client-credentials flow to make a request to the related microservice.
    • If your service is not authorized, you can use Integration services.

    The suggested way is to write integration services spesifically for the related microservice interactions. You can check the Integration Services documentation.

    I will update the documentation to include the integration services aswell.

  • User Avatar
    0
    DominaTang created

    The integration services are non authorized endpoints and they should not be exposed to gateways.

    There are two ways when using synchronous communication between microservices;

    • If you want to consume an exposed endpoint by a microservice which the internal service is authorized, you need to use client-credentials flow to make a request to the related microservice.
    • If your service is not authorized, you can use Integration services.

    The suggested way is to write integration services spesifically for the related microservice interactions. You can check the Integration Services documentation.

    I will update the documentation to include the integration services aswell.

    If service is not authorized, and there is [Integration Service] for the an app service interface, from another microservice what to call this service, what the appsettings.json look like, just added to "RemoteServices" section?

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    "RemoteServices" :{
        "TestIntegrationService": {
            "BaseUrl": "https://localhost:44302/", // The internal URL for the service(Internal private network),
            "UseCurrentAccessToken": "false"
      }
    }
    
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11