Q10 — AWS SAA-C03 第15章

第 10/100 题 | ← 返回第15章

Q1110.一家公司拥有一款社交媒体应用程序,该应用程序的用户正在快速增长.当前架构使用 T 系列 Amazon EC2 实例.当前架构难以处理不断增加的用户帖子和图像数量.在高峰使用时间,该应用程序的性能会下降.解决方案架构师需要设计一个更新的架构来解决性能问题,并随着使用量的增加而扩展.哪种解决方案能够以最少的运营开销满足这些要求?

正确答案: C. 使用 Amazon API Gateway REST API 和 AWS Lambda 函数来处理请求.将账户信息存储在 Amazon DynamoDB 中.使用 Amazon S3 存储帖子和图像.

解析

为了解决用户快速增长的社交媒体应用程序的性能问题和可扩展性要求,我们需要考虑一种解决方案,既能最大限度地减少运营开销,又能有效处理增加的负载.让我们评估提供的每个选项:A.使用同一系列中最大的 Amazon EC2 实例来托管应用程序.在实例上安装关系数据库来存储所有帐户信息以及帖子和图像.这种方法有几个缺点.使用更大的实例进行垂直扩展有局限性,而且成本可能非常高.将所有数据(帐户、帖子、图像)存储在单个实例上会引入单点故障和性能瓶颈.B. 使用 Amazon Simple Queue Service (Amazon SQS) 缓冲传入的帖子.使用同一系列中更大的 EC2 实例来托管应用程序.将帐户信息存储在 Amazon DynamoDB 中.将帖子和图像存储在本地 EC2 实例文件系统中.使用 SQS 进行缓冲是实现解耦和扩展的良好做法,但将帖子和图像存储在本地 EC2 实例的文件系统上仍然存在可扩展性和可靠性问题.使用 DynamoDB 存储帐户信息是一个不错的选择,但整体架构并未充分利用 AWS 的托管服务来实现可扩展性.C. 使用 Amazon API Gateway REST API 和 AWS Lambda 函数来处理请求.将账户信息存储在 Amazon DynamoDB 中.使用 Amazon S3 存储帖子和图像.该解决方案利用无服务器架构,最大限度地减少了运营开销.API Gateway 和 Lambda 函数会根据请求数量自动扩展.DynamoDB 和 S3 是高度可扩展且托管的服务,无需手动管理和扩展基础设施.这是一个强大且经济高效的解决方案,可用于处理快速的用户增长.D. 在同一系列中部署多个 EC2 实例.使用应用程序负载均衡器分配流量.使用共享文件系统存储帐户信息以及帖子和图像.虽然使用多个 EC2 实例和负载均衡器可以帮助分配负载,但使用共享文件系统存储数据会带来复杂性和潜在的瓶颈.与使用完全托管的服务相比,管理多个 EC2 实例也会增加运营开销.根据分析,满足要求且运营开销最少的解决方案是:C. 使用 Amazon API Gateway REST API 和 AWS Lambda 函数来处理请求.将账户信息存储在 Amazon DynamoDB 中.使用 Amazon S3 存储帖子和图像.这种无服务器架构利用 AWS 的托管服务根据使用情况自动扩展,从而最大限度地减少运营开销并最大限度地提高可扩展性和可靠性.