一家公司在 Amazon EC2 上运行一个基于 REST 的应用程序,该应用程序接收来自第三方供应商的准实时数据。该应用程序处理并存储数据。当计算容量激增且应用程序达到最大容量时,供应商在发送数据时收到许多 503 Service Unavailable 错误。解决方案架构师应推荐哪种设计来提供更具可扩展性的解决方案?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使用 Amazon Kinesis Data Streams 摄取数据。使用 AWS Lambda 函数处理数据。.
为什么这是答案
当应用程序达到最大容量时,供应商收到 503 错误,这表明应用程序无法处理涌入的数据。Amazon Kinesis Data Streams 是一种高度可扩展的实时数据流服务,可以作为缓冲层,在数据高峰期吸收大量数据,防止应用程序过载。AWS Lambda 函数可以无服务器地处理 Kinesis Data Streams 中的数据,根据需要自动扩展,无需管理服务器。这种组合提供了弹性和可扩展性,确保数据在应用程序处理能力不足时不会丢失,并且处理能力可以动态调整。 使用 API Gateway 并设置配额限制会直接拒绝超过配额的数据,无法解决数据量大的问题。SNS 主要用于发布/订阅消息,不适合作为高吞吐量数据流的缓冲层。将应用程序容器化并使用 ECS 和 Auto Scaling 组可以提高应用程序的弹性,但如果应用程序本身处理能力仍是瓶颈,或者扩展速度不够快,仍可能出现 503 错误,不如 Kinesis Data Streams 作为前端缓冲层更直接有效地解决突发流量问题。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡