#amazon-web-services #aws-lambda #amazon-sqs
Вопрос:
Я столкнулся со странной ситуацией sqs, на которую я не могу найти удовлетворительного ответа. Я создал очередь задержки, которая должна задерживать (какой сюрприз) входящие события в течение 4 секунд, а затем они должны обрабатываться лямбда. Порядок здесь не является проблемой. Проблема, однако, в том, что показатель «приблизительный возраст самого старого сообщения» (стат. Макс) иногда он достигает более 1 минуты, что странно, так как сообщений не так много, как вы можете видеть на картинке. Я ожидал бы, что событие будет обработано сразу после задержки в 4 секунды. Зарезервированный уровень параллелизма этой лямбды равен 50, поэтому у опрашивающего sqs не должно возникнуть проблем с вызовом большего количества экземпляров лямбды при слишком большом трафике. Но трафик на самом деле не проблема, как вы можете видеть.
Очередь настроена следующим образом:
Тайм-аут видимости по умолчанию: 120 сек
Задержка доставки: 4 сек
Очередь с мертвыми буквами: Нет (это только одно событие, сгенерированное aws, поэтому никаких
плохих таблеток)
Срок хранения сообщений: 4 дня
Конфигурация лямбды:
Размер партии: 5 (Пробовал также 1 или 10. Не большая разница для упомянутой метрики)
Окно пакета: Нет
зарезервированный параллелизм: 50
тайм-аут: 20 секунд Я не могу объяснить причину этих старых сообщений (приблизительное значение Foldestmessage). Любая помощь будет высоко оценена
Лучшие
Патрик
Ответ №1:
Я связался со службой поддержки AWS. По-видимому, это ошибка на стороне aws:
Ответ от службы поддержки AWS:
Я только что получил обновление от команды серверной службы, и команда подтвердила, что они выявили проблему неожиданных скачков в показателях «ApproximateAgeOfOldestMessage», которые срабатывают при отправке сообщений в SQS с настроенной задержкой. Основная причина этой проблемы заключается в том, что наша внутренняя система использует недавно обработанные сообщения с задержкой для расчета показателя «ApproximateAgeOfOldestMessage», что приводит к значению, превышающему фактическое значение показателя «ApproximateAgeOfOldestMessage». Теперь они определили решение этой проблемы и в ближайшее время начнут его развертывание. После этого обновления, когда сообщения отправляются в Amazon SQS с настроенной задержкой, вы можете увидеть, что значение метрики «Приблизительное значение Foldestmessage» для очередей снижается до точного значения.
Поэтому, если вы столкнетесь с той же проблемой, вам придется подождать упомянутого исправления. Надеюсь, это скоро произойдет.