一家公司在Auto Scaling组中的EC2实例上运行一个自定义应用程序,该应用程序通过多个顺序的、计算密集型步骤处理记录。每个步骤最多需要5分钟。目前,如果任何步骤失败,则必须从头开始重新处理整个记录。该公司希望以最少的运营开销仅重新处理失败的步骤。为了满足此要求,最具运营效率的架构是什么?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 将Web应用程序中的记录发送到AWS Step Functions,并将处理分解为由AWS Lambda函数支持的Step Functions任务。.
为什么这是答案
正确答案是“将Web应用程序中的记录发送到AWS Step Functions,并将处理分解为由AWS Lambda函数支持的Step Functions任务”。Step Functions专为协调分布式应用程序和微服务而设计,非常适合管理多步骤、顺序的工作流。它提供内置的状态管理、错误处理和重试机制,允许在特定步骤失败时仅重新处理该步骤,而无需从头开始。结合Lambda函数,可以实现无服务器、按需扩展的计算,最大程度地减少运营开销。 其他选项不理想: S3和SNS的方案需要手动管理状态和协调步骤,增加了复杂性。 Fargate容器方案虽然提供了容器化优势,但容器调用自身传递状态并非Step Functions那样原生的工作流管理方式,且重新处理失败步骤的逻辑仍需自行实现。 Kinesis Data Stream和Lambda的方案更侧重于数据摄取和实时处理,虽然Lambda可以处理单个步骤,但协调多个顺序步骤和管理状态不如Step Functions高效。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡