某公司运行着一个关键应用程序,其中 API Gateway 暴露了一个与 Lambda 函数集成的 HTTP API。该应用程序将数据存储在 RDS for MySQL 实例(2 个 vCPU,64 GB RAM)中。在不可预测的高峰期,一些 API 调用会返回 HTTP 500 错误。CloudWatch Logs 显示“连接过多”。除了计划维护期间,数据库必须保持可用。公司如何使应用程序能够抵御连接峰值?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使用 Amazon RDS Proxy,为数据库实例创建代理,并更新 Lambda 函数以连接到该代理。.
为什么这是答案
当应用程序在不可预测的高峰期遇到“连接过多”错误时,Amazon RDS Proxy 是一个有效的解决方案。RDS Proxy 能够管理和复用数据库连接,显著减少了数据库的连接负担,特别适用于无服务器应用程序(如 Lambda 函数),这些应用程序通常会快速打开和关闭大量连接。通过将 Lambda 函数连接到 RDS Proxy,而不是直接连接到 RDS 实例,可以有效缓解连接风暴,提高应用程序在高并发场景下的稳定性。 减少 vCPU 并增加 maxconnections 可能会导致性能下降,因为 vCPU 减少会限制数据库处理能力,而增加 maxconnections 无法解决连接复用问题。创建 CloudWatch 警报来更改实例类是反应性措施,且实例类更改通常需要停机,不符合“除了计划维护期间,数据库必须保持可用”的要求。使用 EventBridge 规则在 CPU 利用率高时增加 maxconnections 同样是反应性措施,且无法解决连接复用问题,可能导致数据库过载。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡