Q74 — AWS SAA-C03 第15章
第 74/100 题 | ← 返回第15章
Q1174. 一家公司开发了一个在线门户,用于展示其产品的最新信息。该公司已将代码部署为 AWS Lambda 函数,并使用 Amazon API Gateway 公开了该代码。Amazon DynamoDB 负责存储该系统的数据。在审查了 Amazon CloudWatch 指标后,该公司注意到某些产品比其他产品更受欢迎,浏览频率也更高。该公司希望在不增加运营开销的情况下,让最热门的产品获得尽可能快的读取响应时间。哪种解决方案能够以最少的代码更改减少数据库调用的次数?
- A. 配置 DynamoDB Accelerator (DAX)。更新 Lambda 函数的 Getltem API 调用,使其指向 DAX 集群终端节点。 ✓
- B. 创建一个使用缓存旁路策略的 Amazon OpenSearch Service 集群。更新 Lambda 函数的 Getltem APl 调用,使其指向 OpenSearch Service 终端节点。
- C. 创建 Amazon ElastiCache (Redis OSS) 集群。更新 Lambda 函数代码,以便对 Redis 集群的 Getltem APl 调用使用延迟加载缓存策略。
- D. 创建一个 Amazon ElastiCache (Memcached) 集群。更新 Lambda 函数代码,使其对 Memcached 集群的 Getltem APl 调用使用直写缓存策略。
正确答案: A. 配置 DynamoDB Accelerator (DAX)。更新 Lambda 函数的 Getltem API 调用,使其指向 DAX 集群终端节点。
解析
为了减少数据库调用次数,以最少的代码更改实现最受欢迎产品的最快读取响应时间,最好的解决方案是:A.配置 DynamoDB Accelerator (DAX)。更新 Lambda 函数的 GetItem API 调用,使其指向 DAX 集群终端节点。### 解释:DynamoDB Accelerator (DAX):DAX 专为 DynamoDB 提供内存缓存而设计,可实现快速读取性能,同时与现有 DynamoDB 应用程序无缝集成。代码改动极少:切换到 DAX 只需更改 GetItem 调用的 API 端点,使其成为一种低投入的解决方案,同时为读取密集型工作负载带来显著的性能提升。### 其他选项:B:使用 Amazon OpenSearch Service 会涉及更重大的架构变更和额外的管理开销,这对于最大限度地减少代码变更来说并不理想。C:使用 Amazon ElastiCache(Redis)需要在应用程序代码中实施缓存策略,这会增加复杂性和运营开销。D:与选项 C 类似,使用 Amazon ElastiCache(Memcached)也需要更改 Lambda 函数代码以进行缓存,这比使用 DAX 更复杂。因此,选项 A 是以最小的操作开销提高读取性能的最有效的解决方案。