Конвейер обработки видео использует инстансы EC2 в группе Auto Scaling для обработки видео из очереди SQS. Обработка каждого видео занимает около 30 минут. Очередь SQS имеет политику повторной обработки (redrive policy) в очередь недоставленных сообщений (dead-letter queue) с параметром maxReceiveCount, установленным на 1. Время видимости очереди (visibility timeout) составляет 1 час. Алерты CloudWatch уведомляют команду, когда сообщения попадают в dead-letter queue. Несколько раз в день сообщения появляются в DLQ, а видео остаются необработанными. В логах приложения ошибок нет. Какое изменение предотвратит эту проблему?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Включить защиту от уменьшения масштаба (scale-in protection) для инстансов во время обработки видео..
Почему это правильный ответ
Проблема возникает из-за того, что инстансы EC2 завершаются до завершения обработки видео, так как обработка занимает 30 минут, а время видимости сообщения в SQS составляет 1 час. Когда инстанс завершается, сообщение возвращается в очередь, но поскольку maxReceiveCount установлен на 1, оно сразу же перемещается в DLQ после первого получения, если обработка не завершена. Включение защиты от уменьшения масштаба (scale-in protection) для инстансов во время обработки видео гарантирует, что инстансы не будут завершены Auto Scaling Group до завершения работы. Защита от завершения (termination protection) не применима к инстансам в Auto Scaling Group. Увеличение времени видимости SQS до 3 часов не решит проблему, так как инстанс все равно может быть завершен до истечения этого времени. Изменение maxReceiveCount на 0 не имеет смысла, так как это предотвратит любую повторную обработку.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется