A solutions architect is developing a two-step order process application. The first step is synchronous and must return with minimal delay to the user. Because the second stage is more time consuming, it will be done as a distinct component. Orders must be processed precisely once and in their original sequence of receipt.
How are these components to be integrated by the solutions architect?
- A. Use Amazon SQS FIFO queues.
- B. Use an AWS Lambda function along with Amazon SQS standard queues.
- C. Create an SNS topic and subscribe an Amazon SQS FIFO queue to that topic.
- D. Create an SNS topic and subscribe an Amazon SQS Standard queue to that topic.
한글 번역
솔루션 설계자는 2단계 주문 프로세스 애플리케이션을 개발 중입니다. 첫 번째 단계는 동기식이며 사용자에게 최소한의 지연으로 반환해야 합니다. 두 번째 단계는 시간이 더 오래 걸리므로 별개의 구성 요소로 수행됩니다. 주문은 원래 수령 순서대로 정확히 한 번 처리되어야 합니다.
솔루션 설계자는 이러한 구성 요소를 어떻게 통합합니까?
- A. Amazon SQS FIFO 대기열을 사용합니다.
- B. Amazon SQS 표준 대기열과 함께 AWS Lambda 함수를 사용합니다.
- C. SNS 주제를 생성하고 해당 주제에 대한 Amazon SQS FIFO 대기열을 구독합니다.
- D. SNS 주제를 생성하고 해당 주제에 대한 Amazon SQS 표준 대기열을 구독합니다.
정답
- C. Create an SNS topic and subscribe an Amazon SQS FIFO queue to that topic.
해설
Amazon SNS FIFO 소개 – 선입선출 Pub/Sub 메시징
분산 소프트웨어 아키텍처를 설계할 때 서비스가 정보를 교환하는 방법을 정의하는 것이 중요합니다. 예를 들어, 비동기 통신을 사용하면 구성 요소를 분리하고 확장을 단순화하여 변경의 영향을 줄이고 새로운 기능을 더 쉽게 출시할 수 있습니다.
비동기 서비스 간 통신의 가장 일반적인 두 가지 형태는 메시지 대기열 과 발행/구독 메시징 입니다 .
- 메시지 대기열 을 사용하면 메시지 는 소비자가 처리하고 삭제할 때까지 대기열에 저장됩니다. AWS에서 Amazon Simple Queue Service(SQS) 는 관리 오버헤드 없이 완전 관리형 메시지 대기열 서비스를 제공합니다.
- pub/sub 메시징 을 사용 하면 주제에 게시된 메시지가 해당 주제의 모든 구독자에게 전달됩니다. AWS에서 Amazon Simple Notification Service(SNS) 는 많은 구독자에게 메시지를 전달할 수 있는 완전 관리형 게시/구독 메시징 서비스입니다. 각 구독자는 관심 있는 메시지만 수신하도록 필터 정책을 설정할 수도 있습니다.
여러 애플리케이션에 메시지를 팬아웃하려는 경우 토픽을 사용하고 하나의 애플리케이션에 메시지를 보내려는 경우 큐를 사용할 수 있습니다. 주제와 대기열을 함께 사용하면 마이크로서비스 , 분산 시스템 및 서버리스 애플리케이션을 분리할 수 있습니다.
SQS를 사용하면 FIFO(선입선출) 대기열 을 사용 하여 메시지를 보내고 받는 순서를 유지하고 메시지가 두 번 이상 처리되는 것을 방지할 수 있습니다.
SNS FIFO 주제 소개
오늘 우리는 SNS FIFO 주제 를 도입하여 발행/구독 메시징에 유사한 기능을 추가하여 엄격한 메시지 순서와 한 명 이상의 구독자에게 중복 제거된 메시지 전달을 제공합니다.
FIFO 주제는 FIFO 대기열과 유사한 순서 및 중복 제거를 관리합니다.
순서 지정 – FIFO 주제에 메시지를 게시할 때 메시지 그룹 ID 를 포함하여 메시지 그룹 을 구성합니다. 각 메시지 그룹 ID에 대해 모든 메시지는 도착 순서대로 전송 및 배달됩니다. 예를 들어, 동일한 고객과 관련된 메시지를 순서대로 전달하려면 고객의 계정 번호를 메시지 그룹 ID로 사용하여 이러한 메시지를 주제에 게시할 수 있습니다. FIFO 주제 및 대기열이 있는 메시지 그룹의 수에는 제한이 없습니다. 메시지 그룹 ID를 미리 선언할 필요가 없으며 모든 값이 작동합니다. 메시지 간에 논리적 구분이 없는 경우 모두에 대해 동일한 메시지 그룹 ID를 사용하고 단일 그룹의 정렬된 메시지를 가질 수 있습니다. 메시지 그룹 ID는등록된 FIFO 대기열에 전달됩니다 .
중복 제거 – SNS와 같은 분산 시스템 및 클라이언트 애플리케이션은 때때로 중복 메시지를 생성합니다. 주제에서 콘텐츠 기반 중복 제거 를 활성화하거나 게시하는 메시지에 중복 제거 ID 를 추가하는 두 가지 방법으로 주제에서 중복된 메시지 배달을 방지 할 수 있습니다 . 메시지 콘텐츠 기반 중복 제거를 통해 SNS는 SHA-256 해시를 사용하여 본문 을 사용하여 메시지 중복 제거 ID를 생성합니다.메시지의. 특정 중복 제거 ID가 있는 메시지가 성공적으로 게시된 후 동일한 중복 제거 ID를 가진 메시지가 수락되지만 전달되지 않는 5분 간격이 있습니다. FIFO 대기열을 FIFO 주제에 등록하면 중복 제거 ID가 대기열로 전달되고 SQS에서 중복 메시지 수신을 방지하는 데 사용됩니다 .
작업 및 이벤트 순서가 중요하거나 중복을 허용할 수 없는 경우 FIFO 주제와 대기열을 함께 사용하여 애플리케이션 구현을 단순화할 수 있습니다. 예를 들어 재무 작업 및 인벤토리 업데이트를 처리하거나 클라이언트 장치에서 받은 명령을 비동기식으로 적용합니다. FIFO 대기열은 FIFO 주제에서 메시지 필터링을 사용 하여 주제에 게시된 모든 메시지가 아닌 메시지의 하위 집합만 선택적으로 수신할 수 있습니다.
SNS FIFO 주제 사용 방법
FIFO 주제가 도움이 될 수 있는 일반적인 시나리오는 순서대로 처리해야 하는 업데이트를 수신하는 경우입니다. 예를 들어, FIFO 주제를 사용하여 고객이 계정 프로필을 편집하는 애플리케이션에서 업데이트를 수신할 수 있습니다. 그런 다음 FIFO 주제에 대한 SQS FIFO 대기열을 구독하고동기화를 유지해야 하는 고객 관리 시스템에서 사용하는 Amazon DynamoDB 테이블
FIFO 주제에 의해 도입된 디커플링을 통해 기존 애플리케이션에 미치는 영향을 최소화하면서 새로운 기능을 더 쉽게 추가할 수 있습니다. 예를 들어 충성도가 높은 고객에게 추가 프로모션을 제공 하기 위해 Amazon Aurora 에서 관리하는 관계형 데이터베이스에 정보를 저장 하는 새로운 Loyalty 애플리케이션을 추가합니다 . Loyalty 데이터베이스에 저장된 고객 정보를 다른 애플리케이션과 동기화하기 위해 동일한 FIFO 주제에 대한 새 FIFO 대기열을 구독하고 생성된 것과 동일한 순서로 고객 업데이트를 수신하는 새 Lambda 함수를 추가할 수 있습니다. 충성도 데이터베이스에 적용합니다. 이렇게 하면 새로운 Loyalty 앱을 통합하기 위해 다른 애플리케이션의 코드와 구성을 변경할 필요가 없습니다.
참조 문서
'[AWS] > AWS SAA EXAMTOPICS' 카테고리의 다른 글
[AWS][SAA][EXAMTOPICS] Question 233 (0) | 2022.07.05 |
---|---|
[AWS][SAA][EXAMTOPICS] Question 232 (0) | 2022.07.05 |
[AWS][SAA][EXAMTOPICS] Question 231 (0) | 2022.07.05 |
[AWS][SAA][EXAMTOPICS] Question 230 (0) | 2022.07.05 |
[AWS][SAA][EXAMTOPICS] Question 228 (0) | 2022.07.05 |
[AWS][SAA][EXAMTOPICS] Question 227 (0) | 2022.07.05 |
[AWS][SAA][EXAMTOPICS] Question 226 (0) | 2022.07.05 |
[AWS][SAA][EXAMTOPICS] Question 225 (0) | 2022.07.05 |
댓글