Kinesis запускает лямбду с небольшим размером партии - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть Lambda, настроенная в качестве потребителя потока данных Kinesis, с размером пакета 10 000 (максимум).Лямбда анализирует данные записи и вставляет их в Aurora Postgresql (с помощью команды INSERT).

Почему-то я вижу, что лямбда вызывается большую часть времени с относительно небольшим количеством записей (менее 200), хотя 'IteratorAge' постоянно высокий (около 60 секунд).Записи помещаются в поток со случайным ключом разделения (генерируемым как uuid4) и размером

Чем это можно объяснить ?Как я понимаю, если осколок не пустой, все текущие записи, вплоть до настроенного размера пакета, должны быть опрошены.

Я предполагаю, что, если Lambda была вызвана с большими партиями, эту задержку можно было бы предотвратить.

Примечание. Существует также пожарный шланг Kinesis, настроенный в качестве потребителя (похоже, нет проблем).

1 Ответ

0 голосов
/ 06 декабря 2018

Обнаруживает, что возраст итератора Kinesis был 0 мс, поэтому такое поведение имеет смысл.Возраст итератора Lambda немного отличается:

Измеряет возраст последней записи для каждой партии обработанных записей.Возраст - это разница между временем, когда Lambda получила пакет, и временем, когда последняя запись в пакете была записана в поток.

...