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)