Aurora Serverless 'Deadtime' - PullRequest
       30

Aurora Serverless 'Deadtime'

2 голосов
/ 14 февраля 2020

Я использую SQL RDS с AWS Без сервера и при тестировании API сталкиваюсь с ошибками. В начале дня я получу ошибку 502, но это устранится после повторной попытки 1-4 раза. Я полагаю, что эта ошибка связана с некоторым «мертвым временем», которое возникает, когда безсерверный сервер пытается «загрузиться» с 0 единиц емкости после периода бездействия? Это, кажется, не происходит, когда сервер бездействует в 1 единицу cap.

Единственное решение, которое я смог придумать, - это установить минимальную емкость сервера на 1, но, похоже, это побеждает цель безсерверной + повышения цены.

Кто-нибудь еще сталкивался с этой проблемой / успешно реализовал решение?

1 Ответ

1 голос
/ 19 февраля 2020

Перед запуском тестов 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.

...