Rate Limiter | .NET 8 | CSharp
- Rate Limiter | .NET 8 | CSharp
Para configurar a limitação de taxa, você terá que:
- Escolha um algoritmo de limitação de taxa (janela fixa, janela deslizante, balde de token ou simultaneidade).
- Escolha uma chave de partição: userId, tenantId, apiKey ou o que for adequado ao seu caso de uso.
- Crie uma política de limite de taxa particionada.
- Adicione a política aos endpoints (ou melhor ainda, ao proxy reverso).
builder.Services.AddRateLimiter(options =>
{
options.AddPolicy("fixed-by-api-key", httpContext =>
RateLimitPartition.GetFixedWindowLimiter(
partitionKey: httpContext.Request.Headers["x-api-key"],
factory: _ => new FixedWindowRateLimiterOptions
{
PermitLimit = 100,
Window = TimeSpan.FromMinutes(60)
}
));
});