Я пытаюсь включить регулирование шлюза API, но оно работает не так, как ожидалось.
Я установил скорость регулирования метода по умолчанию на 1 запрос в секунду, а пакетный - на 1 запрос.
Затем я создал цикл в своем коде, чтобы сделать 10 одновременных запросов к моей конечной точке API.
for (let i=0; i<10; i++) {
axios.get(url);
}
Ожидаемый результат:
- 1 успешный запрос
- 9 задушенных запросов (ошибка HTTP 429)
Но на самом деле результат был противоположным:
- 9 успешных запросов
- 1 дросселированный запрос (ошибка HTTP 429)
Я повторил процесс, но сделал 20 одновременных запросов, и результат был:
- 16 успешных запросов
- 4 задушенных запроса (ошибка HTTP 429)
В журналах CloudWatch для этого метода API я обнаружил разные потоки журналов, каждый с разницей всего в несколько миллисекунд.
Если я установил скорость на 0 запросов в секунду и пакет на 0 запросов, дросселирование работает, и ВСЕ запросы будут дросселированы. Но когда я устанавливаю для Rate и Bust значение 1, он не работает должным образом.
Почему так происходит? Мне нужно ограничить свой API только 1 запросом в секунду.
rate limit
иburst
, она не работает должным образом. Вы нашли для этого решение? @DanielBarral - person Karthik Vadla   schedule 23.06.2021