AWS SAA-C03 #207

A company owns an asynchronous API that is used to ingest user requests and, based on the request type, dispatch requests to the appropriate microservice for processing. The company is using Amazon API Gateway to deploy the API front end, and an AWS Lambda function that invokes Amazon DynamoDB to store user requests before dispatching them to the processing microservices.

The company provisioned as much DynamoDB throughput as its budget allows, but the company is still experiencing availability issues and is losing user requests.

What should a solutions architect do to address this issue without impacting existing users?

A. Add throttling on the API Gateway with server-side throttling limits.

B. Use DynamoDB Accelerator (DAX) and Lambda to buffer writes to DynamoDB.

C. Create a secondary index in DynamoDB for the table with the user requests.

D. Use the Amazon Simple Queue Service (Amazon SQS) queue and Lambda to buffer writes to DynamoDB.


The best solution to address this issue without impacting existing users would be Option D: Use the Amazon Simple Queue Service (Amazon SQS) queue and Lambda to buffer writes to DynamoDB.

Here's why:

  • Option A: Add throttling on the API Gateway with server-side throttling limits. This option might prevent the system from being overwhelmed by too many requests at once, but it doesn't solve the problem of DynamoDB's throughput limit being reached. It might also result in user requests being denied if the throttling limit is too low.
  • Option B: Use DynamoDB Accelerator (DAX) and Lambda to buffer writes to DynamoDB. DAX is a fully managed, highly available, in-memory cache for DynamoDB that can accelerate reads from DynamoDB tables by up to 10 times, even at millions of requests per second. However, DAX does not help with write throughput.
  • Option C: Create a secondary index in DynamoDB for the table with the user requests. Secondary indexes can improve read performance, but they do not increase write capacity.
  • Option D: Use the Amazon Simple Queue Service (Amazon SQS) queue and Lambda to buffer writes to DynamoDB. This option decouples the data ingestion process from the write process into DynamoDB. The SQS service can handle any level of throughput without losing messages or requiring other services to throttle themselves. This is likely the best solution because it addresses the issue of lost user requests due to exceeding the provisioned DynamoDB throughput.

Remember, it's always important to consider your specific use case and requirements when choosing a solution! 😊

相关推荐
曹天骄3 小时前
Cloudflare Worker 关联域名访问后出现301 / 308
运维·云计算
一碗甜汤ᐝ5 小时前
腾讯云部署bisheng毕昇
语言模型·云计算·腾讯云
zhojiew6 小时前
在springboot4中使用ADOT的agent注入集成cwagent发送数据和追踪
aws
久绊A6 小时前
GPU 集群资源利用率过高?从异常 ECS 实例排查到清理全实操
云计算·云平台
翼龙云_cloud7 小时前
阿里云渠道商:弹性伸缩爬虫实战 智能应对流量高峰的 3 步方案
爬虫·阿里云·云计算
China_Yanhy8 小时前
Web3 的数字金库:AWS KMS 在区块链项目中的深度应用与选型指南
web3·区块链·aws
China_Yanhy8 小时前
AWS KMS 深度配置指南:原理、场景与选型策略
云计算·aws
翼龙云_cloud8 小时前
亚马逊云渠道商:如何在AWS控制台中创建每月成本预算?
服务器·云计算·aws
2401_865854889 小时前
腾讯云云手机的质量如何
智能手机·云计算·腾讯云
Solar202510 小时前
机械制造企业数据采集系统选型指南:从技术挑战到架构实践
java·大数据·服务器·架构·云计算