某个应用程序将传入的 JSON 文件存储在 S3 中,然后一个 Lambda 函数对其进行转换并将项目写入 DynamoDB。突发的流量高峰导致 DynamoDB 节流。哪项更改将消除节流并平滑写入 DynamoDB?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 将 Lambda 拆分为两个函数:一个用于转换,另一个用于写入 DynamoDB。在它们之间放置一个 SQS 队列,以便消息缓冲并调用写入器函数。.
为什么这是答案
当应用程序遇到突发的流量高峰时,直接写入 DynamoDB 可能会导致节流。将 Lambda 函数拆分为两个,并在它们之间引入 SQS 队列,可以有效地解决这个问题。第一个 Lambda 函数负责转换数据,然后将转换后的数据作为消息发送到 SQS 队列。SQS 队列作为缓冲区,可以吸收流量高峰,确保消息不会丢失。第二个 Lambda 函数从 SQS 队列中读取消息,并以更平滑、可控的速度将数据写入 DynamoDB。这种解耦机制允许 DynamoDB 以其可处理的速度进行写入,从而避免节流。 启用 DynamoDB 自动扩缩可以帮助应对流量变化,但对于突发且剧烈的流量高峰,自动扩缩可能无法立即响应,仍可能导致短时间内的节流。创建 Lambda 别名和配置预置并发主要用于降低冷启动延迟和提高并发处理能力,与解决 DynamoDB 节流问题无关。将 Lambda 拆分为两个函数,一个写入 DynamoDB,另一个处理/更新项目,并通过 DynamoDB 流调用,这种模式主要用于处理 DynamoDB 数据的后续处理,而不是解决初始写入的节流问题。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡