#amazon-web-services #apache-kafka #aws-lambda #aws-serverless #aws-msk
Вопрос:
Мы используем AWS Lambda С Источником Событий MSK.
Сведения об окружающей среде: В настоящее время у нас есть в общей сложности 47 разделов, назначенных теме MSK, которые прослушивает Лямбда. Мы также определили Лямбда-зарезервированный параллелизм для 47.
Мы сталкиваемся с множеством проблем, перечисленных ниже.
Проблема: 1: Когда мы помещаем события в несколько разделов темы MSK, лямбда-параллелизм работает неправильно.
Мы ожидаем, что в случае параллельной загрузки (когда во всех 47 разделах темы MSK происходят события) будет использоваться весь определенный зарезервированный параллелизм Лямбда (т. е. одновременно будет вызываться максимум 47 Лямбда). Но в нашем случае было вызвано только ~2 одновременных Лямбды, хотя было ~9 запросов на вызов.
Проблема: 2: Из журналов Cloudwatch функции Лямбда мы обнаружили, что существует задержка ~1 минута между временем публикации события MSK и временем запуска Лямбда.
Сообщение О Событии Кафки Из Журналов:
{"records":{"topicName-7":[{"topic":"topicName","partition":7,"offset":27,"timestamp":1632218228728,"timestampType":"CREATE_TIME","key":"*****","value":"*****"}]},"eventSource":"aws:kafka","eventSourceArn":"*****","bootstrapServers":"*****"}
Метка времени вызова функции: 2021-09-21T09:58:08.612 Z[UTC]
Как мы видим, метка времени в сообщении о событии Кафки составляет 1632218228728, т. е. 2021-09-21T09:57:08.728 Z[UTC], но время вызова лямбда-функции составляет 2021-09-21T09:58:08.612 Z[UTC]. Таким образом, задержка по времени составляет ~1 минуту.
Пожалуйста, предложите,
- Правильно ли наше понимание лямбда-параллелизма?
- Мы что-то упускаем в наших конфигурациях Лямбда?
Комментарии:
1. Это для первых сообщений? Возможно, это проблема холодного старта. Может быть, вам нужен подготовленный параллелизм вместо зарезервированного параллелизма?
2. Нет, это не для первого сообщения. Значение флага холодного запуска было ложным.