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 小时前
Karpenter v1 成了 EKS 默认推荐,Cluster Autoscaler 该换了
aws
暮雨疏桐9 小时前
阿里云从 OSS 将 CSV 推送至内网机器方案
阿里云·云计算·php
a752066289 小时前
OpenClaw 连接阿里云百炼完整图文实操教程
人工智能·阿里云·云计算·ai办公·openclaw·小龙虾·小龙虾一键部署
weixin1997010801610 小时前
《求教:用阿里云处理Ozon图片的具体参数怎么设置,搜索匹配度最高?》
阿里云·云计算
亚马逊云开发者11 小时前
Bedrock 限流不用自己写重试了 — 跨区域推理路由
aws
koping_wu12 小时前
【Claude Code】Mac安装Claude Code、通过阿里云百炼接入Claude Code
macos·阿里云·云计算·ai编程
sbjdhjd14 小时前
Docker 网络工业级实战手册
linux·运维·经验分享·笔记·docker·云原生·云计算
yyuuuzz14 小时前
国际云服务商使用的常见问题分析
运维·服务器·网络·云计算·github·aws
wb18914 小时前
Kubernetes 集群镜像
笔记·云原生·容器·kubernetes·云计算
暮雨疏桐1 天前
阿里云函数计算部署广告数据ETL方案
阿里云·云计算