тысяч запросов к внешнему API, и я не хочу его нагружать?
На данный момент написал пайплайн с помощью step functions, потом только вспомнил, что лучше не нагружать сильно. Вызов я делаю с помощью лямбды, поэтому включил для нее reserved concurrency и тут же словил фейлы RateExceeded.
Можно конечно сделать ретраи в SF, но это костыль какой-то. Вот и думаю насчет SQS теперь. Напихать несколько тысяч ивентов в очередь, а лямбда потом потихоньку пусть разгребает. В верном направлении думаю или можно со Step Functions что-то пофиксить?
Тоже интересно.
Я бы очередь взял и все. SQS или нет, не важно. Как раз главный юзкейс очереди озвучен - троттлинг
динама + лямбда по расписанию с нужным таймаутом
Kinesis
Кстати да. Я и так записываю часть полей ивента еще и в динамо. Можно динамо стримы в качестве очереди по идее использовать. С другой стороны доп.поля хранить не особо хочется. В общем надо подумать над этим вариантом тоже
им же вроде на output
Лямбда может и оттуда получать, на больших объемах сильно дешевле sqs
да но им наоборот, слать в внешний апи
Но ведь шлёт лямбда, а очередь это буффер между лямбдой и приложением
Можно вместо триггера для функции использовать не SQS а CloudWatch Events с расписанием. Сама функция может читать из очереди "вручную"
Обсуждают сегодня