Q40 — AWS SAP-C02 第3章
第 40/75 题 | ← 返回第3章
Q265. 一家公司希望重构其零售订单Web应用程序,该应用程序目前使用负载均衡的Amazon EC2实例集群进行Web托管、数据库API服务和业务逻辑。公司需要创建一个解耦、可扩展的架构,具有保留失败订单的机制,同时最大限度地降低运营成本。 哪种解决方案将满足这些要求?
- A. 使用Amazon S3进行Web托管,Amazon API Gateway用于数据库API服务。使用Amazon Simple Queue Service (Amazon SQS)进行订单排队。使用Amazon Elastic Container Service (Amazon ECS)进行业务逻辑处理,使用Amazon SQS长轮询保留失败订单。
- B. 使用AWS Elastic Beanstalk进行Web托管,Amazon API Gateway用于数据库API服务。使用Amazon MQ进行订单排队。使用AWS Step Functions进行业务逻辑处理,使用Amazon S3 Glacier Deep Archive保留失败订单。
- C. 使用Amazon S3进行Web托管,AWS AppSync用于数据库API服务。使用Amazon Simple Queue Service (Amazon SQS)进行订单排队。使用AWS Lambda进行业务逻辑处理,使用Amazon SQS死信队列保留失败订单。 ✓
- D. 使用Amazon Lightsail进行Web托管,AWS AppSync用于数据库API服务。使用Amazon Simple Email Service (Amazon SES)进行订单排队。使用Amazon Elastic Kubernetes Service (Amazon EKS)进行业务逻辑处理,使用Amazon Elasticsearch Service进行失败订单保留。
正确答案: C. 使用Amazon S3进行Web托管,AWS AppSync用于数据库API服务。使用Amazon Simple Queue Service (Amazon SQS)进行订单排队。使用AWS Lambda进行业务逻辑处理,使用Amazon SQS死信队列保留失败订单。
解析
选项C建议使用Amazon S3进行Web托管和AWS AppSync用于数据库API服务。两者都是无服务器且高度可扩展的服务,有助于降低运营成本。Amazon SQS用于订单排队,提供高可用性和持久的消息服务。AWS Lambda用于业务逻辑,也是无服务器的,根据请求数量自动扩展。Amazon SQS死信队列用于保留失败订单,确保失败的消息被捕获并在以后重新处理。 虽然AppSync在此上下文中并不比API Gateway更好,但DLQ是比SQS长轮询更好的保留失败订单的选择。 提示:将应用程序重构为使用GraphQL API (AppSync) + 无服务器 + DLQ用于失败订单。