System Design middle
Что такое Распределённый rate limiter?
Ответ
Token Bucket vs Sliding Window Log. Redis + Lua-скрипт для атомарности. Обсудить: точность vs производительность.
Разбор: В распределённом rate limiter общий счётчик хранят в Redis, а атомарность инкремента и проверки лимита обеспечивают Lua-скриптом; выбор алгоритма (Token Bucket против Sliding Window Log) — это компромисс между производительностью и точностью. Ловушки: локальные счётчики на каждом инстансе не дают глобального лимита, Round Robin/Least Connections — это балансировка нагрузки, а не ограничение частоты, и Token Bucket с Sliding Window дают разное поведение на границах окна.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.