Golang — использование rate limiter в коде

Rate limiting — ограничение скорости запросов в определенной системе. К примеру вы можете поставить ограничения на ваш веб сервер — не более 10 запросов в секунду. Возможно создание ограничения только для определенного клиента или типа машины.

В Golang добавление rate limit довольно просто, достаточно использовать готовую библиотеку golang.org/x/time/rate

Как пример — я хочу получать не более 10 запросов в секунду с первоначальным burst (довольно сложно перевести на русский, что-то типа вспышки или очереди запросов) в 100:

Итого, при запуске я получу 100 Do smth.. немедленно и далее следующие запросы будут идти пачками по 10 штук в секунду.

Мы также можем сбросить burst или изменить это значение во время исполнения программы.

Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.