한 회사의 전자상거래 결제 워크플로우는 데이터베이스에 주문을 기록하고 결제 서비스를 호출합니다. 사용자는 결제 중 시간 초과를 경험하며, 다시 제출하면 동일한 트랜잭션에 대해 여러 개의 고유한 주문이 생성됩니다. 솔루션스 아키텍트는 여러 주문이 생성되는 것을 방지하기 위해 워크플로우를 어떻게 리팩터링해야 할까요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: 데이터베이스에 주문을 저장합니다. 주문 번호를 포함하는 메시지를 Amazon Simple Queue Service (Amazon SQS) FIFO 큐로 보냅니다. 결제 서비스가 메시지를 검색하고, 주문을 처리한 다음, 큐에서 메시지를 삭제하도록 합니다..
이것이 정답인 이유
정답은 Amazon SQS FIFO 큐를 사용하는 것입니다. SQS FIFO(First-In, First-Out) 큐는 메시지 처리 순서를 엄격하게 유지하고, 정확히 한 번 처리(exactly-once processing)를 지원하여 중복 메시지가 전송되거나 처리되지 않도록 합니다. 사용자가 결제 중 시간 초과를 경험하고 재시도할 때, 동일한 주문에 대해 여러 개의 고유한 주문이 생성되는 문제를 해결하기에 가장 적합합니다. 결제 서비스가 큐에서 메시지를 검색하고 처리한 후 삭제하면 중복 주문 생성을 방지할 수 있습니다. 오답 설명: Amazon Kinesis Data Firehose는 대량의 스트리밍 데이터를 수집하여 다른 서비스로 전송하는 데 적합하지만, 메시지 순서 보장이나 정확히 한 번 처리를 보장하지 않아 중복 주문 문제를 해결하기 어렵습니다. AWS CloudTrail은 AWS API 호출을 로깅하는 서비스이며, 이를 기반으로 Lambda 함수를 호출하는 것은 복잡하며, 주문 처리 워크플로우의 중복 문제를 직접적으로 해결하지 못합니다. Amazon SNS는 메시지를 여러 구독자에게 푸시하는 데 사용되지만, 메시지 순서 보장이나 정확히 한 번 처리를 보장하지 않아 이 시나리오에는 적합하지 않습니다. 폴링 방식도 SQS보다 효율적이지 않을 수 있습니다.
끝없는 정답 찾기 없이 시험 합격
이 시험에 대한 모든 검증된 문제와 설명을 한곳에서 얻고, 준비 시간을 몇 시간 절약하세요. 1,000개 이상의 자격증 · 20개 이상의 언어 · 무료로 시작.
더 빠르게 시험 합격 → 카드 필요 없음