API Gateway com Ocelot
Ocelot é um API Gateway para plataforma .NET. Este projeto destina-se a pessoas que usam o .NET / Core executando uma arquitetura orientada a micro serviços / serviços que precisam de um ponto de entrada unificado em seu sistema. No entanto, ele funcionará com qualquer coisa que fale HTTP e seja executado em qualquer plataforma suportada pelo ASP.NET Core.
API Gateway
API Gateway é uma interface em que recebe chamadas e redireciona para os serviços internos. Basicamente ele é utilizado para os seguintes fins:
- Filtro
- Roteamento de Tráfego
- Mecanismo de Segurança
- Expor apenas um endpoint
API Gateway Pattern
Ao construir um sistema grande e complexo usando a arquitetura de microsserviços, com vários aplicativos clientes, uma boa abordagem a considerar é o API Gateway Pattern.
Esse padrão fornece um único ponto de entrada para grupo(s) de microsserviços. Uma variação do API Gateway Pattern também é conhecida como “backend for frontend” (BFF) porque você pode criar vários Gateways de API, dependendo das diferentes necessidades de cada aplicativo cliente.
Portanto, o API Gateway Pattern fica entre os aplicativos clientes e os microsserviços. Ele age como um proxy reverso, roteando solicitações de clientes para serviços.
Ele também pode fornecer recursos adicionais de cross-cutting, como autenticação, terminação SSL e cache.
O Ocelot possui as seguintes features:
- Routing
- Request Aggregation
- Service Discovery with Consul & Eureka
- Service Fabric
- WebSockets
- Authentication
- Authorisation
- Rate Limiting
- Caching
- Retry policies / QoS
- Load Balancing
- Logging / Tracing / Correlation
- Headers / Query String / Claims Transformation
- Custom Middleware / Delegating Handlers
- Configuration / Administration REST API
- Platform / Cloud Agnostic
No próximo artigo irei detalhar algumas funções, mostrar passo a passo a criação do projeto, instalação dos pacotes Nuget, Service Discovery com Consul no Gateway e serviços, Load Balance e autenticação com JWT.
Fiquem ligados!