← ClaudeAtlas

abp-microserviceslisted

ABP Framework v10.4 microservice quick reference: Integration Services [IntegrationService], distributed events (RabbitMQ Outbox/Inbox), YARP gateway, OpenIddict, Entity Cache, database-per-service. Use when you need microservices or inter-service communication in ABP.
burakdmir/abp-skills · ★ 10 · AI & Automation · score 77
Install: claude install-skill burakdmir/abp-skills
# ABP Framework — Microservices ABP v10.4 microservice template (Business+). Synchronous = Integration Services, asynchronous = distributed events. YARP gateway + OpenIddict auth server. ## Trigger "ABP microservices", "integration service", "inter-service communication", "distributed event", "YARP gateway", "auth server". ## Structure ``` apps/{web,public-web,auth-server} gateways/web-gateway(YARP) services/{administration,identity,...} etc/{docker,helm} ``` Services are NOT layered: a single project + `*.Contracts` (interface/DTO/ETO) + `*.Tests`. DbContext: `IHasEventInbox`, `IHasEventOutbox`. ## Synchronous — Integration Service ```csharp // Contracts [IntegrationService] public interface IProductIntegrationService : IApplicationService { Task<List<ProductDto>> GetProductsByIdsAsync(List<Guid> ids); } // Service [IntegrationService] public class ProductIntegrationService : ApplicationService, IProductIntegrationService { /* ... */ } // Provider module: options.ExposeIntegrationServices = true; // Consumer module: context.Services.AddStaticHttpClientProxies(typeof(CatalogServiceContractsModule).Assembly, "CatalogService"); ``` ```bash abp generate-proxy -t csharp -u http://localhost:44361 -m catalog --without-contracts ``` ```json "RemoteServices": { "CatalogService": { "BaseUrl": "http://localhost:44361" } } ``` > Use an Integration Service, not an application service. When: immediate response + data needed for the operation. ## Asynchronous — Distributed Even