[문제8]
한 회사는 점수 업데이트를 백엔드 프로세서로 스트리밍한 다음 결과를 리더보드에 게시하는 모바일 게임을 개발하고 있습니다. 솔루션 설계자는 대규모 트래픽 급증을 처리할 수 있는 솔루션을 설계해야 합니다. 모바일 게임 업데이트를 수신 순서대로 처리하고 처리된 내용을 저장해야 합니다. 고가용성 데이터베이스 업데이트 회사는 또한 솔루션을 유지하는 데 필요한 관리 오버헤드를 최소화하려고 합니다. 솔루션 설계자는 이러한 요구 사항을 충족하기 위해 무엇을 해야 합니까?
A. Amazon Kinesis Data Streams에 점수 업데이트 푸시 AWS Lambda를 사용하여 Kinesis Data Streams의 업데이트를 처리합니다. 처리된 업데이트를 Amazon DynamoDB에 저장합니다.
B. Amazon Kinesis Data Streams에 점수 업데이트를 푸시합니다. Auto Scaling을 위해 설정된 Amazon EC2 인스턴스 집합으로 업데이트를 처리합니다. 처리된 업데이트를 Amazon Redshift에 저장합니다.
C. Amazon Simple Notification Service(Amazon SNS) Topic에 점수 업데이트 푸시 업데이트를 처리하려면 SNS 주제에 대한 AWS Lambda 함수를 구독하세요. Amazon EC2에서 실행되는 SQL 데이터베이스에 처리된 업데이트를 저장합니다.
D. Amazon Simple Queue Service(Amazon SQS) 대기열에 점수 업데이트를 푸시합니다. Auto Scaling이 포함된 Amazon EC2 인스턴스 집합을 사용하여 SQS 대기열의 업데이트를 처리합니다. 처리된 업데이트를 Amazon RDS 다중 AZ DB 인스턴스에 저장합니다.
[요구사항 분석]
1) 대규모 트래픽 급증을 처리할 수 있는 확장성 있는 솔루션 필요
2) 수신된 점수 업데이트를 순서대로 처리
3) 고가용성 데이터베이스에 처리된 업데이트 저장
4) 관리 오버헤드 최소화
[각 보기 분석]
A. Amazon Kinesis Data Streams에 점수 업데이트 푸시 AWS Lambda를 사용하여 Kinesis Data Streams의 업데이트를 처리합니다. 처리된 업데이트를 Amazon DynamoDB에 저장합니다.
1) 장점:
- Kinesis Data Streams는 대규모 데이터를 실시간으로 처리하며, 순서대로 데이터를 처리할 수 있습니다.
- AWS Lambda는 서버리스로 관리 오버헤드가 낮으며, Kinesis와 통합되어 자동 확장 가능.
- DynamoDB는 서버리스이면서 고가용성과 확장성을 제공하는 NoSQL 데이터베이스로, 빠르고 안정적인 데이터 저장이 가능합니다.
2) 단점: 거의 없음. 이 구성은 요구사항을 거의 완벽하게 충족합니다.
B. Amazon Kinesis Data Streams에 점수 업데이트를 푸시합니다. Auto Scaling을 위해 설정된 Amazon EC2 인스턴스 집합으로 업데이트를 처리합니다. 처리된 업데이트를 Amazon Redshift에 저장합니다.
1) 장점:
- Kinesis Data Streams는 트래픽 급증을 처리할 수 있으며, 순서대로 데이터를 처리할 수 있습니다.
- EC2 Auto Scaling을 통해 확장 가능.
2) 단점: - EC2 인스턴스는 서버리스가 아니므로 관리 오버헤드가 높습니다.
- Redshift는 주로 대규모 데이터 분석에 적합하며, 실시간 처리를 위한 솔루션으로는 부적합합니다.
C. Amazon Simple Notification Service(Amazon SNS) Topic에 점수 업데이트 푸시 업데이트를 처리하려면 SNS 주제에 대한 AWS Lambda 함수를 구독하세요. Amazon EC2에서 실행되는 SQL 데이터베이스에 처리된 업데이트를 저장합니다.
1) 장점:
- SNS는 다중 구독자에게 메시지를 실시간으로 전달할 수 있습니다.
- Lambda는 서버리스로 관리가 용이.
2) 단점: - SNS는 순서 보장이 안 되므로, 점수 업데이트를 순서대로 처리하는 요구사항을 충족하지 못합니다.
- EC2 인스턴스를 사용하는 SQL 데이터베이스는 관리 오버헤드가 높으며, 확장성 측면에서 부적합할 수 있습니다.
D. Amazon Simple Queue Service(Amazon SQS) 대기열에 점수 업데이트를 푸시합니다. Auto Scaling이 포함된 Amazon EC2 인스턴스 집합을 사용하여 SQS 대기열의 업데이트를 처리합니다. 처리된 업데이트를 Amazon RDS 다중 AZ DB 인스턴스에 저장합니다.
1) 장점:
- SQS는 메시지 대기열을 사용해 비동기적으로 메시지를 처리할 수 있으며, Auto Scaling을 통해 트래픽 급증을 처리할 수 있습니다.
- RDS 다중 AZ는 고가용성을 보장합니다.
2) 단점: - SQS는 기본적으로 순서 보장이 되지 않습니다. FIFO 대기열을 설정할 수 있지만, Lambda와 Kinesis만큼 간편하지 않습니다.
- EC2 인스턴스를 사용하는 만큼 관리 오버헤드가 발생할 수 있습니다.
[정답 및 최종 판단]
정답은 A Kinesis Data Streams는 대규모 트래픽과 순서 보장을 지원하며, Lambda는 서버리스로 관리가 용이하고, DynamoDB는 확장성과 고가용성을 제공합니다.
[태스크]
태스크 4.3: 스트리밍 데이터 및 대규모 트래픽 처리 솔루션 설계
이 태스크는 실시간 데이터 스트리밍 및 대규모 트래픽 처리에 대한 솔루션을 설계하는 방법을 다룹니다. 특히, 모바일 게임과 같은 대규모 트래픽 급증 상황에서 데이터 순서를 보장하며, 처리 후 데이터베이스에 안전하게 저장할 수 있는 아키텍처 설계가 필요합니다.
[태스크 목적]
- 실시간 스트리밍 데이터 처리: 모바일 게임의 실시간 점수 업데이트와 같은 데이터가 스트리밍 방식으로 전송될 때, 이를 효율적으로 처리할 수 있어야 합니다.
- 대규모 트래픽 급증에 대한 대응: 트래픽이 갑자기 증가하더라도 시스템이 안정적으로 작동해야 하며, 확장성을 지원해야 합니다.
- 데이터 순서 보장: 스트리밍 데이터의 수신 순서가 중요한 경우, 데이터를 처리하고 저장할 때 그 순서를 유지해야 합니다.
- 고가용성: 장애가 발생하더라도 서비스 중단 없이 데이터를 처리하고 저장할 수 있도록 고가용성을 보장해야 합니다.
- 운영 오버헤드 최소화: 가능한 한 서버리스 서비스나 관리형 서비스를 사용하여 운영 비용과 유지 보수 부담을 줄여야 합니다.
[관련 지식]
- 스트리밍 데이터 아키텍처: 실시간 데이터를 처리할 수 있는 설계 원칙, 예를 들어 Kinesis를 활용한 실시간 스트리밍 처리 방식.
- 고가용성 아키텍처: 단일 지점 장애를 방지하고 자동 복구를 보장하는 아키텍처 설계 방법.
- 서버리스 아키텍처: 관리형 인프라를 사용하여 운영 부담을 줄이고, AWS Lambda와 같은 서버리스 서비스의 장점과 한계.
[AWS 서비스 설명]
1. Amazon Kinesis Data Streams
- 역할: 실시간 데이터 스트리밍 서비스로, 초당 수백만 건의 데이터 레코드를 수집, 처리, 분석할 수 있습니다.
- 특징:
- 데이터를 순서대로 스트리밍하고 처리할 수 있습니다.
- 대규모 트래픽을 처리하는 데 적합하며, 확장성이 뛰어납니다.
- 특히, 실시간 분석과 로깅 같은 사용 사례에서 유용합니다.
2. AWS Lambda
- 역할: 서버를 관리하지 않고 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스입니다.
- 특징:
- 이벤트 기반으로 코드를 실행합니다.
- 서버를 직접 프로비저닝할 필요 없이 코드가 필요할 때만 실행되므로 비용 효율적입니다.
- 자동으로 확장되며, 다양한 AWS 서비스(Kinesis, S3, DynamoDB 등)와 통합이 용이합니다.
3. Amazon DynamoDB
- 역할: 빠르고 확장 가능한 NoSQL 데이터베이스 서비스입니다.
- 특징:
- 고가용성과 확장성을 제공하며, 수십만 건의 읽기 및 쓰기 요청을 처리할 수 있습니다.
- 서버리스 서비스로, 데이터를 영구적으로 저장하고 빠르게 검색할 수 있습니다.
- 비용 효율적인 사용이 가능하며, 특히 읽기/쓰기 트래픽이 많은 애플리케이션에 적합합니다.
4. Amazon Redshift
- 역할: 대규모 데이터 분석에 적합한 고성능 데이터 웨어하우스 서비스입니다.
- 특징:
- MPP(대규모 병렬 처리) 기능을 제공하여, 테라바이트에서 페타바이트까지의 데이터를 빠르게 쿼리할 수 있습니다.
- 구조화된 데이터와 비구조화된 데이터 분석을 모두 지원합니다.
- 비용 효율적인 대용량 데이터 분석을 위한 클러스터형 아키텍처입니다.
5. Amazon Simple Notification Service (SNS)
- 역할: 게시/구독(Pub/Sub) 모델을 통해 대규모 메시지 전달을 가능하게 하는 서비스입니다.
- 특징:
- 주제가 생성되면 여러 구독자에게 동시에 메시지를 실시간으로 전달할 수 있습니다.
- 팬아웃 구조를 통해 메시지를 확장 가능한 방식으로 배포할 수 있습니다.
- 서버리스 메시징 서비스로, 관리 부담이 적고 비용 효율적입니다.
6. Amazon Simple Queue Service (SQS)
- 역할: 메시지 대기열을 제공하는 분산 메시징 서비스입니다.
- 특징:
- 비동기적으로 메시지를 처리할 수 있으며, 대기열의 메시지를 저장하고 소비자(EC2, Lambda 등)가 처리할 때까지 보관합니다.
- 표준 대기열과 FIFO 대기열이 있어, 표준 대기열은 대규모 확장을 지원하며, FIFO 대기열은 순서 보장을 제공합니다.
- 애플리케이션 간에 메시지를 안정적으로 전달할 수 있습니다.
7. Amazon ElastiCache
- 역할: 관리형 캐싱 서비스로, Redis와 Memcached 두 가지 캐시 엔진을 지원합니다.
- 특징:
- Redis: 데이터 복제, 스냅샷, 고급 데이터 구조 지원을 통해 메모리 내 데이터 저장소를 제공합니다.
- Memcached: 분산된 메모리 캐싱 시스템으로 빠른 데이터 캐시를 제공하며, 주로 단순한 키-값 저장소로 사용됩니다.
- 자주 사용하는 데이터를 메모리에 저장함으로써 데이터베이스 부하를 줄이고 애플리케이션 성능을 향상시킵니다.
'스케쥴 > 시험' 카테고리의 다른 글
AWS SAA-C03 한국어 샘플 10번 (3) | 2024.10.20 |
---|---|
AWS SAA-C03 한국어 샘플 9번 (0) | 2024.10.20 |
AWS SAA-C03 한국어 샘플 7번 (0) | 2024.10.19 |
AWS SAA-C03 한국어 샘플 6번 (0) | 2024.10.19 |
AWS SAA-C03 한국어 샘플 5번 (1) | 2024.10.19 |