Как я могу моделировать «бессерверный» Cloud SQL по требованию?

Проблема: экземпляры Cloud SQL работают неопределенное время, и их размещение обходится дорого.

Цель: сэкономить деньги без ущерба для доступности базы данных.

Прошло почти четыре года, а Google Cloud так и не выполнил этот запрос на функцию, который уже был реализован на AWS с помощью Aurora RDS.

Поскольку похоже, что Cloud SQL по требованию с автоматическим масштабированием до нуля не появится в ближайшее время, будет ли работать следующая стратегия?

  1. Имейте экземпляры Cloud SQL, Baby и Papa. Они следуют принципу реплики «главный/подчиненный» с некоторыми изменениями. Экземпляр Baby небольшой, с небольшим количеством виртуальных ЦП и небольшим объемом памяти. Он всегда работает, но делает это дешево. Однако экземпляр Papa стоит дорого, имеет большой объем виртуального ЦП и большой объем памяти, но запускается только при необходимости.
  2. Начнем с того, что работает только экземпляр Baby Cloud SQL, поэтому именно мастер принимает операции чтения/записи. Экземпляр Papa Cloud SQL не запущен.
  3. Поскольку я использую стандартный движок приложений, который автоматически масштабируется до нуля без трафика, запланируйте задание cron, которое каждые 10 минут проверяет, не существует ли экземпляров движка приложения. В этом случае у приложения нет трафика. Если это не так, запускается экземпляр Papa Cloud SQL. После запуска экземпляр Papa становится главным, который принимает операции чтения/записи, а экземпляр Baby становится подчиненной репликой, способной только на чтение.
  4. Если задание cron обнаруживает, что у ядра приложения нет запущенных экземпляров, это означает, что трафика нет. Таким образом, экземпляр Papa Cloud SQL останавливается, а реплика Baby Cloud SQL становится главной и может принимать операции чтения/записи.
  5. Таким образом, дорогой экземпляр Papa запускается по требованию. Если при остановке или перезагрузке экземпляра Papa произойдет всплеск трафика, экземпляр Baby все равно сможет отвечать на запросы.

Эта стратегия гарантирует, что дорогой экземпляр Papa Cloud SQL будет работать только с трафиком. Возможна ли такая динамика «Малышка-папа» в Google Cloud?

0 ответов