Q8 — AWS SAP-C02 第1章
第 8/75 题 | ← 返回第1章
Q83. 解决方案架构师开发了一个使用 Amazon API Gateway 区域端点和 AWS Lambda 函数的 Web 应用程序。该 Web 应用程序的所有消费者都靠近将部署应用程序的 AWS 区域。Lambda 函数仅查询 Amazon Aurora MySQL 数据库。解决方案架构师已将数据库配置为具有三个只读副本。在测试期间,应用程序未满足性能要求。在高负载下,应用程序会打开大量数据库连接。解决方案架构师必须提高应用程序的性能。解决方案架构师应采取哪些操作来满足这些要求?(选择两项。)
- A. 使用 Aurora 数据库的集群端点。
- B. 使用 RDS Proxy 建立到 Aurora 数据库读取器端点的连接池。 ✓
- C. 使用 Lambda 预置并发功能。
- D. 将打开数据库连接的代码移到 Lambda 函数事件处理程序之外。 ✓
- E. 将 API Gateway 端点更改为边缘优化端点。
正确答案: B. 使用 RDS Proxy 建立到 Aurora 数据库读取器端点的连接池。, D. 将打开数据库连接的代码移到 Lambda 函数事件处理程序之外。
解析
为提高使用 API Gateway 和 Lambda 的 Web 应用程序的性能,推荐的操作是: B. 使用 RDS Proxy 建立到 Aurora 数据库读取器端点的连接池。 D. 将打开数据库连接的代码移到 Lambda 函数事件处理程序之外。 说明: 选项 B - RDS Proxy:RDS Proxy 充当数据库的中间层,管理数据库连接池。这有助于减少 Lambda 函数打开的数据库连接数量,因为 RDS Proxy 可以重用连接而不是为每个 Lambda 调用创建新连接。通过将 RDS Proxy 指向读取器端点,可以利用只读副本来处理读取请求。 选项 D - 在事件处理程序外初始化连接:通过将数据库连接初始化代码移到 Lambda 函数事件处理程序之外(即放在全局范围内),可以利用 Lambda 的执行上下文重用。当 Lambda 容器被重用时,数据库连接也会被重用,从而减少连接开销。 选项 A 不正确,因为集群端点指向写入器实例,而题目描述的 Lambda 函数仅执行查询操作,应使用读取器端点来分散读取负载。 选项 C 不正确,虽然预置并发可以减少冷启动延迟,但它不能解决数据库连接过多的问题。 选项 E 不正确,因为所有消费者都靠近应用程序部署的区域,使用边缘优化端点不会带来显著的性能改善,区域端点在此场景中已经足够。 因此,正确答案是 B 和 D。