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! 😊

相关推荐
小夏子_riotous10 小时前
Docker学习路径——7、Docker搭建MySQL 主从复制
linux·运维·mysql·docker·容器·centos·云计算
有想法的py工程师11 小时前
如何用 AWS CLI 判断 T 系列实例 CPU 不够(实战指南)
大数据·aws
SNOWPIAOP11 小时前
WSL 下使用 Claude Code Router 将 VS Code Claude Code 指向 AWS Bedrock GLM-5 模型
云计算·claude·aws·ccr
有想法的py工程师11 小时前
PostgreSQL 在AWS的 T 系列实例上的性能陷阱
数据库·postgresql·aws
MY_TEUCK1 天前
【阿里云】阿里云 OSS 图片上传实战与避坑:一次环境变量覆盖引发的排查复盘
阿里云·云计算
兔子小灰灰1 天前
云服务器配置远程桌面
服务器·云计算
easy_coder1 天前
Claude Code 的 Agent Loop 与 ReAct:在云产品智能诊断中如何分层落地
架构·云计算
ZStack开发者社区1 天前
全球化2.0 | 中国香港政府部门通过ZStack替代VMware,支撑虚拟化与容器化创新
云计算
appleคิดถึง1 天前
fastadmin后台配置腾讯云cos插件后,解决自定义后台的上传问题
云计算·腾讯云·cos·fastadmin
小夏子_riotous1 天前
Docker学习路径——6、简单微服务
linux·运维·服务器·docker·微服务·容器·云计算