CSHARPPROGLIB Telegram 6554
⚡️ 100 RPS на всё приложение

Rate limit — это простой способ защитить API от всплесков нагрузки, случайных «шторма» с клиента и банального DDoS по честным endpoint’ам.

В примере ниже на всё приложение вешается глобальный лимитер:
builder.Services.AddRateLimiter(o =>
{
o.GlobalLimiter = PartitionedRateLimiter.Create<HttpContext, string>(ctx =>
RateLimitPartition.GetFixedWindowLimiter("global", _ =>
new FixedWindowRateLimiterOptions
{
PermitLimit = 100,
Window = TimeSpan.FromSeconds(1)
}));
});

app.UseRateLimiter();


Если за текущую секунду лимит исчерпан, новые запросы начнут получать ответ об ограничении, пока не откроется следующее окно.

Дальше от этого базового варианта легко прийти к более тонким настройкам: отдельные лимиты на публичные и внутренние маршруты, разделение по API-ключу, IP или пользователю, своя политика ответа и логирование с метриками.

🔹 Алгоритмы и структуры данных
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸Библиотека шарписта

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
👍204🔥2



tgoop.com/csharpproglib/6554
Create:
Last Update:

⚡️ 100 RPS на всё приложение

Rate limit — это простой способ защитить API от всплесков нагрузки, случайных «шторма» с клиента и банального DDoS по честным endpoint’ам.

В примере ниже на всё приложение вешается глобальный лимитер:

builder.Services.AddRateLimiter(o =>
{
o.GlobalLimiter = PartitionedRateLimiter.Create<HttpContext, string>(ctx =>
RateLimitPartition.GetFixedWindowLimiter("global", _ =>
new FixedWindowRateLimiterOptions
{
PermitLimit = 100,
Window = TimeSpan.FromSeconds(1)
}));
});

app.UseRateLimiter();


Если за текущую секунду лимит исчерпан, новые запросы начнут получать ответ об ограничении, пока не откроется следующее окно.

Дальше от этого базового варианта легко прийти к более тонким настройкам: отдельные лимиты на публичные и внутренние маршруты, разделение по API-ключу, IP или пользователю, своя политика ответа и логирование с метриками.

🔹 Алгоритмы и структуры данных
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸Библиотека шарписта

#sharp_view

BY Библиотека шарписта | C#, F#, .NET, ASP.NET


Share with your friend now:
tgoop.com/csharpproglib/6554

View MORE
Open in Telegram


Telegram News

Date: |

More>> Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. While the character limit is 255, try to fit into 200 characters. This way, users will be able to take in your text fast and efficiently. Reveal the essence of your channel and provide contact information. For example, you can add a bot name, link to your pricing plans, etc. Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020. How to create a business channel on Telegram? (Tutorial)
from us


Telegram Библиотека шарписта | C#, F#, .NET, ASP.NET
FROM American