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)