一家公司在 Amazon API Gateway 上运行异步 API,该 API 使用 AWS Lambda 函数将用户请求存储在 Amazon DynamoDB 中,然后再将其分派给微服务。该公司已在预算允许的范围内预置了尽可能多的 DynamoDB 吞吐量,但仍然遇到可用性问题和请求丢失。解决方案架构师应该怎么做才能在不影响现有用户的情况下解决此问题?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使用 Amazon Simple Queue Service (Amazon SQS) 队列和 Lambda 来缓冲写入 DynamoDB 的数据。.
为什么这是答案
正确答案是使用 Amazon SQS 队列和 Lambda 来缓冲写入 DynamoDB 的数据。当 DynamoDB 吞吐量不足时,将请求发送到 SQS 队列可以解耦 API Gateway 和 DynamoDB,从而防止请求丢失。Lambda 函数可以异步地从 SQS 队列中读取消息并写入 DynamoDB,从而平滑突发流量。 其他选项: 在 API Gateway 上添加限流会直接拒绝超出限制的请求,导致用户体验受损和请求丢失,不符合“不影响现有用户”的要求。 使用 DynamoDB Accelerator (DAX) 主要用于缓存读取操作,对写入操作的性能提升有限,无法解决写入吞吐量不足导致的问题。 在 DynamoDB 中为表创建二级索引会增加写入操作的开销,可能进一步加剧吞吐量问题,而不是解决它。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡