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

相关推荐
AOwhisky1 小时前
学习自测与解析:MySQL 系列第三期与第四期
linux·运维·数据库·学习·mysql·云计算
yyuuuzz1 小时前
AI模型部署中的常见稳定性问题
运维·服务器·网络·数据库·人工智能·云计算·github
你是个什么橙2 小时前
安装KVM服务器、使用libvirt tools工具管理虚拟机
运维·服务器·云计算
huluang3 小时前
《密评之殇》
运维·云计算
ZStack开发者社区17 小时前
VMware替代:从POC通过到生产可用,差距在哪里
服务器·云计算·gpu算力
大写-凌祁20 小时前
RS-Claw & XSkill 深度分析
人工智能·语言模型·云计算·腾讯云·agi
元直数字电路验证1 天前
云计算实验笔记(四):容器编排(Container Orchestration)
运维·笔记·docker·云计算
翼龙云_cloud1 天前
阿里云代理商:轻量服务器建站常见问题及解决方案汇总
运维·阿里云·云计算
林小卫很行1 天前
Obsidian 入门58:用 Remotely Save + 腾讯云 COS 实现多端同步
人工智能·云计算·腾讯云·知识管理·obsidian
康哥爱编程2 天前
鸿蒙应用开发之应用如何实现腾讯云对象存储?
python·云计算·腾讯云