AWS SAA 题库

点击卡片任意位置翻面查看正确答案与解析,也可以用键盘 切换题目。

第 199 / 1018 题单选题

一家公司有一个API,用于接收一组监测设备发送的实时数据。API将这些数据存储在Amazon RDS DB实例中以供以后分析。监测设备发送到API的数据量波动不定。在高流量期间,API经常返回超时错误。 公司检查日志后确定数据库无法处理来自API的写入流量。解决方案架构师必须最大程度地减少对数据库的连接数量,并确保在高流量期间不会丢失数据。 哪种解决方案可以满足这些要求?

  • A. 将DB实例的大小增加到具有更多可用内存的实例类型。
  • B. 修改DB实例为Multi-AZ DB实例。配置应用程序将数据写入所有活动的RDS DB实例。
  • C. 修改API将传入数据写入Amazon Simple Queue Service(Amazon SQS)队列。使用由Amazon SQS触发的AWS Lambda函数将数据从队列写入数据库。
  • D. 修改API将传入数据写入Amazon Simple Notification Service(Amazon SNS)主题。使用由Amazon SNS触发的AWS Lambda函数将数据从主题写入数据库。
第 199 / 1018 题正确答案 C
  • C. 修改API将传入数据写入Amazon Simple Queue Service(Amazon SQS)队列。使用由Amazon SQS触发的AWS Lambda函数将数据从队列写入数据库。

解析

选项A只是增加DB实例的内存大小,但不会解决高写入流量问题,可能会导致性能问题。 选项B将DB实例转为Multi-AZ,这会提高高可用性,但不一定会解决高写入流量问题,还可能导致更多的连接到数据库。 选项C通过将数据传递到Amazon SQS队列,并使用AWS Lambda函数异步将数据写入数据库,有效地将高写入流量问题分散到队列和Lambda函数,减轻了数据库的负担,并确保数据不会丢失。 选项D涉及使用Amazon SNS和Lambda,但不提供缓冲,无法解决高流量问题。 因此,答案C是满足要求的最佳解决方案,最大程度地减少对数据库的连接数量并确保数据不会丢失。

AI 解析

Amazon SQS和Lambda的组合用于解耦应用程序组件并处理突增流量。AWS文档指出,使用SQS队列作为缓冲区可以吸收突增的请求,避免直接冲击后端数据库。Lambda可从队列中按需拉取数据并批量写入数据库,自动扩展的特性能够适应负载变化,降低数据库并发连接数。选项C通过异步处理机制确保数据持久化,即使在高流量期间也不会丢失。选项D的SNS是消息发布服务,不具备队列的积压能力和重试机制,可能导致数据丢失。选项A的纵向扩展无法解决连接数瓶颈,选项B的Multi-AZ部署主要用于故障转移而非流量处理。