1

我正在使用 AWS Serverless 运行 SQL RDS,并在测试 API 时遇到错误。在一天开始时,我会收到一个 502 错误,但是在我重试 1-4 次后问题就解决了。我相信此错误是由于无服务器在一段时间不活动后尝试从 0 容量单位“启动”时发生的一些“死区时间”?当服务器以 1 个上限单位空闲时,这似乎不会发生。

我能想到的唯一解决方案是将服务器容量 min 设置为 1,但这似乎违背了无服务器 + 提高价格的目的。

有没有其他人遇到过这个问题/成功实施了解决方案?

4

1 回答 1

1

在运行 API 测试之前,您可以通过向其发送缩放命令来启动暂停的无服务器数据库:

aws rds modify-current-db-cluster-capacity --db-cluster-identifier mydatabase --capacity 1

然后每隔几秒钟轮询一次以查看它是否可用:

aws rds describe-db-clusters --db-cluster-identifier mydatabase | jq -r '.DBClusters[].Status'

一旦可用,您应该能够测试您的 API 而不会出现 502 错误。

于 2020-02-19T18:44:00.567 回答