Q21 — AWS SAA-C03 第5章

第 21/65 题 | ← 返回第5章

Q321.一家公司正在 AWS 上开发一种新的机器学习 (ML) 模型解决方案.这些模型被开发为独立的微服务,在启动时从 Amazon S3 获取大约 1 GB 的模型数据并将数据加载到内存中.用户通过异步 API 访问模型.用户可以发送一个请求或一批请求,并指定应将结果发送到哪里.该公司为数百名用户提供模型.模型的使用模式是不规则的.有些型号可能几天或几周都没有使用.其他模型可以一次接收成批的数千个请求.解决方案架构师应该推荐哪种设计来满足这些要求?

正确答案: D. 将来自 API 的请求定向到 Amazon Simple Queue Service (Amazon SQS) 队列中.将模型部署为从队列读取的 Amazon Elastic Container Service (Amazon ECS) 服务.根据队列大小在 Amazon ECS 上为集群和服务副本启用 AWS Auto Scaling

解析

这种方法使用 Amazon ECS 将模型部署为容器,它可以在启动时从 Amazon S3 获取数据并将其加载到内存中. API 将请求发送到 SQS 队列,这会触发 Amazon ECS 服务处理请求.可以根据 SQS 队列的大小在 Amazon ECS 上为集群和服务启用 AWS Auto Scaling.这使您可以根据需求扩大或缩小规模,确保有足够的资源可用于处理传入的请求.选项 A,将请求定向到 NLB 并将模型部署为 AWS Lambda 函数,可能不是这种情况的最佳选择,因为要加载的模型数据量可能超过 Lambda 函数的内存限制.选项 B,将请求定向到 ALB 并将模型部署为带有 App Mesh 的 Amazon ECS 服务,由于使用 App Mesh,可能会引入额外的复杂性和成本开销.选项 C,将模型部署为由 SQS 事件触发的 AWS Lambda 函数,可能无法提供对底层基础设施的足够控制以优化性能和成本.