awesome-everything EN
↑ Обратно к восхождению

API

Rate limiting: тест на свободное припоминание

Суть Промпты на свободное припоминание по всему юниту rate limiting. Отвечай по памяти, затем открой модельный ответ и сравни.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

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

Цель

Реконструируй спину юнита — граничный всплеск, компромиссы алгоритмов, ловушку распределённого счётчика, атомарность и контракт 429 — не подглядывая в урок.

Вспомните перед уходом
  1. 01
    Почему fixed window протекает 2x всплеском и как sliding window log и token bucket каждый его убирают?
  2. 02
    Сравни sliding window log и sliding window counter. Когда что выбирать?
  3. 03
    Объясни, как token bucket держит средний rate, всё же разрешая всплески, и что контролирует параметр capacity.
  4. 04
    In-memory лимитер проходит все тесты на ноутбуке, но в production пропускает трафик сильно выше лимита. Объясни сбой и фикс.
  5. 05
    Почему запускать проверку rate-limit в Redis единым Lua-скриптом, а не INCR, затем EXPIRE?
  6. 06
    Что контракт 429 должен дисциплинированному клиенту и почему RateLimit-Reset должен быть delta-seconds, а не UNIX timestamp?
Итог

Если ты смог реконструировать каждый ответ по памяти, ты держишь спину юнита: fixed window протекает 2x граничным всплеском, который sliding window и token bucket убирают по-разному; log точен, но тяжёл по памяти, а counter аппроксимирует его за два integer; token bucket держит среднее, а capacity задаёт всплеск; пер-нодовый счётчик — ложь за балансировщиком; общий счётчик в Redis надо обновлять атомарно через Lua; а контракт 429 должен клиенту Retry-After в delta-seconds плюс jitter, чтобы избежать thundering herd.

Продолжить восхождение ↑Rate limiting: чтение кода и сниппетов
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.