AWS SAA 题库
点击卡片任意位置翻面查看正确答案与解析,也可以用键盘 ← → 切换题目。
一家公司部署了一个无服务器应用程序,当新文档上传到Amazon S3存储桶时,会调用一个AWS Lambda函数。该应用程序使用Lambda函数来处理文档。在最近的市场推广活动之后,公司注意到该应用程序未处理许多文档。 解决方案架构师应该采取什么措施来改善这个应用程序的架构?
解析
选项D建议使用Amazon SQS队列来解决问题。通过将请求发送到队列,并将队列配置为Lambda的事件源,可以将工作负载异步化,并确保Lambda函数不会因处理大量请求而超时或失败。这种方式可以提高应用程序的可伸缩性和韧性,因为队列可以缓冲处理文档的速率,确保所有文档都能被适当地处理,而不会丢失。 选项A中提到将Lambda函数的运行时超时值设置为15分钟,但这可能不会解决处理大量请求的问题,因为Lambda函数可能仍然会受到并发请求的限制。选项B中提到S3存储桶复制策略,但它并不会解决请求的处理问题。选项C中提到部署额外的Lambda函数,但这可能会增加复杂性,而没有提供异步处理的机制。最佳解决方案是使用队列来处理请求。
AI 解析
AWS Lambda在处理来自Amazon S3的事件时,可能因并发限制或突发吞吐量导致事件丢失。S3事件通知是异步的,若Lambda无法及时扩展,未处理的事件会被丢弃。Amazon SQS队列作为中间层,能缓冲请求,确保所有文档处理请求可靠存储。Lambda轮询SQS并按自身并发限制处理消息,避免直接触发导致的吞吐量问题。选项D通过引入SQS解耦S3事件与Lambda执行,提升可靠性。其他选项未解决事件丢失或并发限制的根本问题,例如选项C可能仍受Lambda账户级并发限制影响。参考AWS架构最佳实践中的异步处理与解耦模式。