Компания по обработке изображений имеет веб-приложение, которое загружает изображения в бакет Amazon S3. Уведомления о событиях S3 публикуют события создания объектов в стандартную очередь Amazon Simple Queue Service (Amazon SQS). Очередь SQS является источником событий для функции AWS Lambda, которая обрабатывает изображения и отправляет результаты пользователям по электронной почте. Пользователи сообщают о получении нескольких электронных писем для каждого загруженного изображения. Архитектор решений обнаруживает, что сообщения SQS вызывают функцию Lambda более одного раза, что приводит к дублированию электронных писем. Что должен сделать архитектор решений для устранения этой проблемы с НАИМЕНЬШИМИ операционными издержками?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Увеличить время видимости (visibility timeout) в очереди SQS до значения, превышающего сумму времени ожидания функции и времени ожидания пакета (batch window timeout)..
Почему это правильный ответ
Проблема множественных электронных писем возникает из-за того, что функция Lambda обрабатывает одно и то же сообщение SQS несколько раз. Это происходит, когда время видимости сообщения SQS истекает до того, как Lambda успешно завершает обработку и удаляет сообщение. Увеличение времени видимости до значения, превышающего сумму времени выполнения функции Lambda и времени ожидания пакета, гарантирует, что сообщение останется невидимым для других потребителей (других вызовов Lambda) до тех пор, пока текущий вызов не завершит обработку и не удалит его. Это предотвращает повторную обработку сообщения и, следовательно, отправку дублирующихся электронных писем, минимизируя операционные издержки, так как не требует изменений в коде приложения или архитектуре очередей. Неправильные варианты: Длительный опрос (long polling) улучшает эффективность получения сообщений, но не решает проблему дублирования, если сообщение не удаляется вовремя. Очереди SQS FIFO гарантируют порядок и предотвращают дублирование, но стандартные очереди SQS уже используются, и переход на FIFO требует значительных изменений в архитектуре и коде, что увеличивает операционные издержки. Удаление сообщения сразу после прочтения, до обработки, может привести к потере сообщений, если функция Lambda завершится с ошибкой до успешной обработки, поскольку сообщение не будет повторно доставлено.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется