КОРДОН

Алгоритмы: окно, ведро, токены

Кордон поддерживает три алгоритма подсчёта. Они дают разные результаты на всплесках и стоят разного объёма метаданных.

Фиксированное окно

Счётчик на минуту. Дёшево (одно число на ключ), но у границы окна клиент может сделать 2×лимит: 40 запросов в конце одной минуты и 40 в начале другой.

Скользящее окно

Хранятся тайминги последних запросов (кольцевой массив). Всплеск на границе не работает, цена — память по количеству запросов в окне.

Токенизация (token bucket)

Ведро ёмкостью burst наполняется со скоростью limit. Плавно пропускает всплески и держит среднюю — алгоритм по умолчанию.

АлгоритмПамятьВсплескиКогда
fixedминимумна границе ×2жёсткие квоты биллинга
slidingсредненетстрогие SLA
tokenконстантаплавнопо умолчанию
Совет. Для «не больше N в минуту» с человеческими клиентами берите token с burst = N/2: всплеск смягчается, средняя держится.