Q37 — AWS SAP-C02 第2章
第 37/75 题 | ← 返回第2章
Q187. 一家公司将微服务作为 AWS Lambda 函数运行。该微服务将数据写入一个仅支持有限数量并发连接的本地 SQL 数据库。当 Lambda 函数调用次数过多时,数据库崩溃并导致应用程序停机。该公司在公司的 VPC 和本地数据中心之间有一个 AWS Direct Connect 连接。该公司希望保护数据库免受崩溃。 哪种解决方案能满足这些要求?
- A. 将数据写入 Amazon Simple Queue Service (Amazon SQS) 队列。配置 Lambda 函数从队列中读取并写入现有数据库。为 Lambda 函数设置一个低于数据库支持的连接数的预留并发限制 ✓
- B. 创建一个新的 Amazon Aurora Serverless 数据库集群。使用 AWS DataSync 将数据从现有数据库迁移到 Aurora Serverless。重新配置 Lambda 函数写入 Aurora
- C. 创建一个 Amazon RDS Proxy 数据库实例。将 RDS Proxy 数据库实例附加到 Amazon RDS 数据库实例。重新配置 Lambda 函数写入 RDS Proxy 数据库实例
- D. 将数据写入 Amazon Simple Notification Service (Amazon SNS) 主题。当主题收到新消息时调用 Lambda 函数写入现有数据库。为 Lambda 函数配置预置并发,等于数据库支持的连接数
正确答案: A. 将数据写入 Amazon Simple Queue Service (Amazon SQS) 队列。配置 Lambda 函数从队列中读取并写入现有数据库。为 Lambda 函数设置一个低于数据库支持的连接数的预留并发限制
解析
满足保护数据库免受崩溃要求的解决方案是: A. 将数据写入 Amazon Simple Queue Service (Amazon SQS) 队列。配置 Lambda 函数从队列中读取并写入现有数据库。为 Lambda 函数设置一个低于数据库支持的连接数的预留并发限制。 原因: 1. Amazon SQS:通过将数据写入 SQS 队列,可以将 Lambda 函数与本地 SQL 数据库解耦。Lambda 函数可以简单地将数据放入队列,处理数据的责任可以卸载到另一个组件。 2. Lambda 函数并发:通过设置低于数据库支持的连接数的预留并发限制,可以控制 Lambda 函数的并发调用数量。这有助于防止数据库因过多连接而过载,减少崩溃的机会。 3. 可扩展性和容错性:Amazon SQS 是高度可扩展和容错的消息服务。它可以处理大量消息并在发生故障时提供数据的持久性。 选项 B 涉及迁移到不同的数据库解决方案,可能没有必要。选项 C 主要用于管理与 Amazon RDS 数据库的连接,可能不适用于本地数据库。选项 D 不是保护数据库免受高并发连接崩溃的最合适选项。