Integrar uma API .NET com API Kong é uma solução moderna e robusta para gerenciar APIs em arquiteturas de microsserviços. O Kong é um API Gateway altamente escalÔvel que pode fornecer funcionalidades como autenticação, rate limiting, logging, e roteamento de trÔfego. Neste artigo, vamos explorar como integrar uma API .NET com o Kong API Gateway de forma simples e eficaz.
š§° Tecnologias Utilizadas
| Tecnologia | Descrição |
|---|---|
| Kong API | API Gateway para gerenciar e proteger suas APIs. |
| .NET 6+ | Framework moderno para desenvolvimento de APIs. |
| Docker | Utilizado para configurar Kong e a aplicação .NET. |
š Preparando o Ambiente
Primeiro, vamos configurar o Kong API Gateway utilizando Docker. Crie um arquivo docker-compose.yml:
version: '3' services: kong-database: image: kong:latest restart: always environment: KONG_DATABASE: "off" KONG_DECLARATIVE_CONFIG: "/kong-config/kong.yml" volumes: - ./kong-config:/kong-config ports: - "5432:5432" kong: image: kong:latest restart: always environment: KONG_PORT: "8000" KONG_PROXY_ACCESS_LOG: "/dev/stdout" KONG_ADMIN_ACCESS_LOG: "/dev/stdout" KONG_ADMIN_ERROR_LOG: "/dev/stderr" KONG_ADMIN_GUI_HOST: "localhost:8002" ports: - "8000:8000" - "8002:8002" depends_on: - kong-database Inicie o Kong API Gateway com Docker:
docker-compose up -d āļø Criando a API .NET
Agora, crie um projeto Web API simples com .NET:
dotnet new webapi -n ApiKongDemo cd ApiKongDemo Exemplo de controller bƔsico para a API .NET:
[ApiController] [Route("api/[controller]")] public class HelloController : ControllerBase { [HttpGet] public IActionResult Get() { return Ok(new { message = "Hello from .NET API!" }); } } Para rodar a aplicação .NET, utilize o comando:
dotnet run Agora, a API .NET estarĆ” disponĆvel em http://localhost:5000/api/hello.
š Integrando a API .NET com o Kong
Com a API .NET e o Kong configurados, o próximo passo é registrar a API no Kong e configurÔ-la para ser roteada. Para isso, usaremos o Admin API do Kong.
- Registrar a API no Kong:
Use o comando curl para registrar a API:
curl -i -X POST http://localhost:8001/services/ \ --data "name=dotnet-api" \ --data "url=http://host.docker.internal:5000/api/hello" - Criar um Route:
Depois de registrar o serviƧo, vamos criar uma rota que encaminha as requisiƧƵes para a API:
curl -i -X POST http://localhost:8001/services/dotnet-api/routes \ --data "hosts[]=localhost" \ --data "paths[]=/api/hello" Agora, a comunicação serÔ feita pela URL http://localhost:8000/api/hello.
š” Testando a Comunicação
- Acesse a URL da API atravƩs do Kong:
http://localhost:8000/api/hello
A resposta deve ser a seguinte:
{ "message": "Hello from .NET API!" } ā ConclusĆ£o
Integrar a API .NET com o Kong traz vĆ”rios benefĆcios, como gestĆ£o centralizada de APIs, controle de trĆ”fego e autenticação. Usando o Kong API Gateway, Ć© possĆvel adicionar facilmente funcionalidades como rate limiting, autenticação e monitoramento sem alterar o código da API.
AlƩm disso, o Kong permite um controle de trƔfego escalƔvel, ideal para arquiteturas de microsserviƧos em ambientes de alta demanda.
š¤ Conecte-se Comigo
Se vocĆŖ trabalha com .NET moderno e quer dominar arquitetura, C#, observabilidade, DevOps ou interoperabilidade, vamos conversar:
š¼ LinkedIn
š» Dev.to
āļø Medium
š¬ contato@dopme.io
¹ⓠEu sou o bom Pastor, e conheço as minhas ovelhas, e das minhas sou conhecido.
João 10:14
Top comments (0)