Q78 — AWS DOP-C02 第1章
第 78/100 题 | ← 返回第1章
一家公司正在运行一个处理记录的定相应难程序。职响组件都在Auto Scaling组中运行的 Amazon EC2实暗上运行。每条记录的处理都是计按其象型的多步骤顺序操游。每个步骤总是在5分钟或更短唱须 内南成。 当前系统的一个限相是,如得任何步骤失败,应难程序客间美头重新处理记录。公司希望更新架构,以便应难程序客间仅重新处理失败的步骤。 两足这些要求的最响效的运愿解决方案是什么?
- A. 创建一个Web应用程序以将记录写入Amazon S3。使用S3事件通知发布到Amazon Simple Notification Service(Amazon SNS)主题。使用EC2实例轮询Amazon SNS并开始处理。将中间结果保存到Amazon S3 以传递到下一步。
- B. 使用应用程序中的逻辑执行处理步骤。转换应用程序代码以在容器中运行。使用AWS Fargate管理容器实 例。将容器配置为调用自身以将状态从一个步骤传递到下一个步骤。
- C. 创建一个Web应用程序以将记录传递到Amazon Kinesis数据流。使用Kinesis 数据流和AWS Lambda函 数分离处理。
- D. 创建一个Web应用程序以将记录传递给AWS Step Functions。将处理分离为Step Functions任务和 AWS Lambda 函数。 ✓
正确答案: D. 创建一个Web应用程序以将记录传递给AWS Step Functions。将处理分离为Step Functions任务和 AWS Lambda 函数。
解析
答案D是最有效的解决方案。AWSStepFunctions可以将复杂的业务流程分解为一系列的步骤,并且具有错误处理和重试机制。当某个步骤失败时,只需重新处理失败的步骤,而无需从头开始处理整个记录,符合公司仅重新处理失败步骤的需求。同时,结合AWSLambda函数能够实现高效的计算密集型处理。选项A中使用S3和SNS较为复杂,且不太适合处理这种多步骤顺序操作。选项B中使用Fargate管理容器实例,在处理步骤的灵活性和错误处理方面不如StepFunctions。选项C中使用Kinesis数据流和Lambda函数,在处理这种特定的顺序操作和错误处理上不如StepFunctions直接和有效。因此,选项D是最优解。 查看全部