마이크로서비스는 업로드된 대용량 이미지를 압축된 버전으로 변환해야 합니다. 사용자가 웹 인터페이스를 통해 이미지를 업로드하면 마이크로서비스는 이미지를 Amazon S3 버킷에 저장하고, AWS Lambda 함수로 압축한 다음, 압축된 이미지를 다른 S3 버킷에 저장해야 합니다. 이 솔루션은 내구성이 뛰어나고 상태 비저장 구성 요소를 사용해야 하며 이미지를 자동으로 처리해야 합니다. 다음 작업 조합 중 이러한 요구 사항을 충족하는 것은 무엇입니까? (두 가지 선택)
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: Amazon Simple Queue Service(Amazon SQS) 대기열을 생성합니다. 이미지가 업로드될 때 SQS 대기열로 알림을 보내도록 S3 버킷을 구성합니다., Amazon Simple Queue Service(Amazon SQS) 대기열을 호출 소스로 사용하도록 Lambda 함수를 구성합니다. SQS 메시지가 성공적으로 처리되면 대기열에서 메시지를 삭제합니다..
이것이 정답인 이유
첫 번째 정답은 S3 버킷에 이미지가 업로드될 때 SQS 대기열로 알림을 보내도록 구성하여 비동기식으로 이미지 처리 요청을 캡처하고 내구성을 보장합니다. 이는 마이크로서비스 아키텍처의 비동기 통신 패턴과 일치합니다. 두 번째 정답은 Lambda 함수가 SQS 대기열을 호출 소스로 사용하도록 구성하여 메시지를 자동으로 처리하고 성공적으로 처리되면 대기열에서 메시지를 삭제하여 상태 비저장 구성 요소 요구 사항을 충족합니다. 이는 탄력적이고 확장 가능한 이미지 처리 워크플로우를 생성합니다.
다른 옵션들은 다음과 같은 이유로 올바르지 않습니다.
S3 버킷을 모니터링하도록 Lambda 함수를 구성하고 메모리의 텍스트 파일에 파일 이름을 쓰는 것은 내구성이 없으며 상태 비저장 요구 사항을 충족하지 않습니다.
EC2 인스턴스를 시작하여 SQS 대기열을 모니터링하고 텍스트 파일에 파일 이름을 기록하는 것은 불필요한 복잡성을 추가하고 서버리스 아키텍처와 일치하지 않습니다.
EventBridge 이벤트를 구성하여 S3 버킷을 모니터링하고 SNS 주제로 경고를 보내는 것은 이미지 처리 워크플로우를 직접적으로 구현하지 않습니다.