반응형
🤔 문제
개발자가 IoT 디바이스에 배포할 애플리케이션을 만들고 있습니다. 이 애플리케이션은 AWS Lambda 함수로 배포된 RESTful API에 데이터를 전송할 예정입니다. 애플리케이션은 각 API 요청에 고유 식별자(identifier)를 할당합니다. 하루 중 언제든지 애플리케이션의 API 요청량이 무작위로 증가할 수 있습니다.
요청 제한(throttling) 기간 동안 애플리케이션이 요청을 재시도해야 할 수도 있습니다. 이 API는 중복 요청을 받더라도 일관성 문제나 데이터 손실 없이 처리가 가능해야 합니다.
이 요구사항을 충족할 수 있는 솔루션은 무엇입니까?
- Amazon RDS for MySQL DB 인스턴스를 생성합니다. 각 요청의 고유 식별자를 데이터베이스 테이블에 저장하고, Lambda 함수가 요청을 처리하기 전에 테이블에서 식별자를 확인하도록 수정합니다.
- Amazon DynamoDB 테이블을 생성합니다. 각 요청의 고유 식별자를 테이블에 저장하고, Lambda 함수가 요청을 처리하기 전에 테이블에서 식별자를 확인하도록 수정합니다.
- Amazon DynamoDB 테이블을 생성합니다. 각 요청의 고유 식별자를 테이블에 저장하고, Lambda 함수가 중복 요청을 받을 때 클라이언트 오류 응답을 반환하도록 수정합니다.
- ElastiCache for Memcached 인스턴스를 생성합니다. 각 요청의 고유 식별자를 캐시에 저장하고, Lambda 함수가 요청을 처리하기 전에 캐시에서 식별자를 확인하도록 수정합니다.
정답 & 오답
더보기
정답 2번
DynamoDB는 영구적으로 저장할 수 있는 NoSQL 데이터베이스이다.
각 요청의 고유 식별자를 저장하고, 중복 요청이 발생할 때는 테이블을 확인해 데이터 일관성을 유지할 수 있다.
1번. (오답)
RDS는 영구 데이터 저장에는 적합하지만, 데이터베이스 연결 관리가 필요하고 확장성 면에서 서버리스 환경에 비해 효율이 떨어질 수 있다.
특히 RDS는 트래픽이 갑자기 증가하는 IoT 환경에서 DynamoDB만큼의 확장성을 제공하지 못한다.
그리고 기본적으로 IoT 디바이스는 Unstructed data를 전송하기 때문에 RDS보다는 DynamoDB가 더 적합하다.
728x90
반응형