서버리스 티켓팅 시스템이 주문 ID를 생성한 다음 재고 및 결제 Lambda 함수를 병렬로 실행합니다. 좌석이 실수로 두 번 판매된 경우, 먼저 접수된 주문이 좌석을 확보해야 하며 해당 주문의 결제만 처리되어야 합니다. 첫 번째 주문의 결제가 거부되면 두 번째 주문이 좌석을 확보하고 해당 결제가 처리되어야 합니다. 다음 중 어떤 설계가 이러한 요구 사항을 충족합니까?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: 주문 ID를 Amazon SNS FIFO 토픽으로 보내고, 이 토픽이 재고 관리를 위한 Amazon SQS FIFO 큐와 결제 처리를 위한 다른 SQS FIFO 큐로 팬아웃되도록 합니다..
이것이 정답인 이유
Amazon SNS FIFO 토픽은 메시지 순서를 보장하고 중복 메시지 처리를 방지합니다. 이 토픽을 통해 주문 ID를 Amazon SQS FIFO 큐 두 개(재고 관리용, 결제 처리용)로 팬아웃하면, 주문이 접수된 순서대로 처리되므로 좌석 이중 판매와 같은 경쟁 조건을 방지할 수 있습니다. 첫 번째 주문의 결제가 실패하면 두 번째 주문이 처리될 수 있도록 논리를 구현할 수 있습니다. 다른 옵션들은 다음과 같은 이유로 적합하지 않습니다. 재고 Lambda가 결제 Lambda를 호출하는 것은 순차적 처리이며 병렬 처리가 아니므로 지연이 발생할 수 있습니다. Amazon SNS 일반 토픽은 순서를 보장하지 않으며 중복 메시지를 전달할 수 있어 경쟁 조건에 취약합니다. Amazon SQS 일반 큐는 순서를 보장하지 않으며, 두 Lambda 함수가 동시에 큐를 폴링할 경우 경쟁 조건이 발생할 수 있습니다.
끝없는 정답 찾기 없이 시험 합격
이 시험에 대한 모든 검증된 문제와 설명을 한곳에서 얻고, 준비 시간을 몇 시간 절약하세요. 1,000개 이상의 자격증 · 20개 이상의 언어 · 무료로 시작.
더 빠르게 시험 합격 → 카드 필요 없음