
⚡Token bucket rate limiting
Один из алгоритмов для ограничения числа входящих запросов. На данный момент используется во многих системах, например, AWS.
Принцип работы:
Есть ограниченный набор токенов, наличие токена = право исполнить запрос.
Когда приходит входящий запрос, сначала проверяем, есть ли свободный токен, если есть - забираем его и исполняем запрос, если нет - отдаем 429.
И поскольку токены назад не возвращаются, их надо как-то восстанавливать. Этим занимается фоновый процесс, который по крону (обычно раз в секунду) восстанавливает число свободных токенов до максимума.
Один из алгоритмов для ограничения числа входящих запросов. На данный момент используется во многих системах, например, AWS.
Принцип работы:
Есть ограниченный набор токенов, наличие токена = право исполнить запрос.
Когда приходит входящий запрос, сначала проверяем, есть ли свободный токен, если есть - забираем его и исполняем запрос, если нет - отдаем 429.
И поскольку токены назад не возвращаются, их надо как-то восстанавливать. Этим занимается фоновый процесс, который по крону (обычно раз в секунду) восстанавливает число свободных токенов до максимума.