某个应用程序使用低级 BatchGetItem 操作调用 DynamoDB,并且经常收到包含 UnprocessedKeys 中条目的响应。当返回 UnprocessedKeys 时,哪些操作将使应用程序更具弹性?(选择两项)
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使用带有随机延迟的指数退避重试批处理操作。, 增加操作访问的 DynamoDB 表的预置读取容量。.
为什么这是答案
当 DynamoDB 返回 UnprocessedKeys 时,表示由于吞吐量限制或其他内部问题,部分或全部请求项未能成功处理。 1. 使用带有随机延迟的指数退避重试批处理操作。 这是处理临时性错误和吞吐量限制的推荐方法。指数退避可以避免在短时间内对服务造成过大压力,而随机延迟则有助于分散重试请求,防止所有客户端同时重试导致新的拥塞。立即重试批处理操作可能导致请求再次失败,甚至加剧拥塞。 2. 增加操作访问的 DynamoDB 表的预置读取容量。 BatchGetItem 是一个读取操作。如果 UnprocessedKeys 是由于读取容量不足引起的,增加预置读取容量可以直接解决吞吐量瓶颈,允许 DynamoDB 处理更多的读取请求。 修改应用程序以使用 AWS SDK 发出请求不直接解决 UnprocessedKeys 问题,因为 SDK 内部已经包含了重试逻辑,但可能需要额外的指数退避配置。增加预置写入容量对 BatchGetItem(读取操作)没有帮助。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡