✔️ Rate Limiting по пользователю это must have для любого нормального API.
Если ты до сих пор ограничиваешь по IP, у тебя уже есть проблема. Один шумный клиент может легко положить сервис для всех.
Правильный подход это лимиты по User ID. Ты берёшь идентификатор пользователя из контекста и используешь его как partition key.
В итоге каждый пользователь получает свой собственный лимит, нет конфликтов между клиентами, нет ложных блокировок, и API остаётся стабильным даже под нагрузкой.
Плюс это честно, потому что один агрессивный пользователь не влияет на остальных.
В ASP.NET Core это настраивается буквально в пару строк через AddRateLimiter с FixedWindow или SlidingWindow стратегией.
Главная мысль в том, что rate limiting это не только про защиту от атак, это про контроль ресурсов и предсказуемость системы.
Если у тебя есть публичный API и нет нормальных лимитов, это не вопрос если упадёт, это вопрос когда.
Post #1752
4.67K
