Комбинируйте ключи (account, IP, device), скользящие окна/token bucket, отдельные лимиты на дорогие операции; учитывайте NAT и распределённые ноды через Redis; добавляйте captcha/MFA на порогах риска.
Разбор
- Не только IP: атакующий с ботнета сменит адрес.
- После N неудачных логинов — backoff / step-up auth.
- Синхронизация лимитов между pods обязательна.
- Метрики: rejected requests, top offenders.
Итог
Эффективный rate limit — многоключевой, распределённый и привязанный к риску.