SYSTEM ATLASЗагрузка материала

Rate Limiting

Rate Limiting

Ограничивает скорость запросов для защиты ресурса и справедливого доступа.

Простыми словами

Представьте музей, который впускает ограниченное число посетителей в минуту, чтобы зал не стал опасно переполненным. Rate limiting сдерживает частоту запросов, поэтому защищает сервис от перегрузки и не даёт одному клиенту забрать весь ресурс.

Пример от @Vibeclakr

Пример при разработке

Форма входа разрешает пять попыток в минуту на аккаунт и IP. После лимита сервер отвечает предсказуемо и сообщает, когда можно повторить.

Это редакционный пример применения, а не часть определения или доказательство концепции.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Применять локальное решение без проверки контекста, ограничений и вторичных последствий.

Системный подход

Сначала определить механизм, затем выбрать минимальное изменение и измерить результат.

Ограничения

«Rate Limiting» объясняет только часть происходящего в области «Надежность и SRE». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

IETF. RateLimit Fields for HTTP. 2023. RFC 9333.

Первоисточник