Как использовать Google App Engine и Google Cloud SQL для автоматического масштабирования базы данных? - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь настроить веб-приложение в стандартной среде Google App Engine, используя Flask и MySQL.

Я знаю, что Google App Engine способен динамически масштабировать свой экземпляр в зависимости от необходимой производительности, но я не уверен, как я могу это сделать для своих серверов MySQL.

Для подключения MySQL я пытаюсь подключиться к Google Cloud SQL. Я знаю, как это работает для одного экземпляра, но я хотел бы знать, возможно ли подключить несколько экземпляров и, таким образом, дать возможность динамически масштабировать мое хранилище при использовании одних и тех же данных.

Пока что я нашел информацию о том, как это сделать в экземплярах Google Computing Engine и Google Cloud SQL по этой ссылке , но не смог выяснить, как это будет работать в стандартной среде Google App Engine.

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Как правильно заметил @ dan-cornilescu, Google App Engine автоматически масштабируется по горизонтали и обрабатывает соединения с вашим экземпляром Cloud SQL, не заботясь о вас.

Но взглянем на ваш последний комментарий к его ответу:

Спасибо, я понимаю, что Google App Engine может динамически масштабироваться и пусть созданные экземпляры подключаются к одному Google Cloud SQL Экземпляр, но я ищу решение для ограниченного пространства и производительность на этом экземпляре Cloud SQL. Есть ли способ, которым я могу подключиться Google App Engine для нескольких экземпляров и таким образом увеличить базу данных место в Google Cloud SQL?

Я дам вам несколько вариантов, чтобы решить проблему ограниченного пространства и производительности вашего экземпляра Cloud SQL. Что касается ограниченного пространства, при создании экземпляра Cloud SQL вы можете выбрать опцию «Включить автоматическое увеличение хранилища» в раскрывающемся списке «Настройка типа и хранилища компьютера» .

Что касается наличия нескольких экземпляров, помните, что экземпляры Cloud SQL масштабируются по вертикали, а не по горизонтали, поэтому я бы порекомендовал вам первый вариант - перейти на Google Cloud Spanner , если вы ищете горизонтальную масштабируемость. На данный момент это единственная база данных в продуктах Google Cloud, которая позволяет это делать, и является выбором.

Вы также можете «подделать» горизонтальную масштабируемость, создав несколько экземпляров Cloud SQL, что действительно является лучшей практикой . При этом вам нужно только принять во внимание, что количество экземпляров, разрешенных для проекта , составляет 40, и вам придется запросить увеличение, если вы хотите иметь больше.

0 голосов
/ 27 июня 2019

Каждый экземпляр службы GAE будет подключаться к вашему Google Cloud SQL в качестве отдельного клиента с использованием тех же учетных данных.В этом отношении не о чем беспокоиться, за исключением, возможно, стоимости масштабирования / определения размера ваших экземпляров Google Cloud SQL, если у вас много экземпляров GAE, или ограничения количества экземпляров GAE для поддержания достойной производительности.Из Рекомендации (вероятно, вся страница полезна для чтения):

  • App Engine имеет возможность автоматически создавать больше экземпляров при увеличении нагрузки.Если количество экземпляров App Engine будет превышать размер экземпляра Cloud SQL, который будет обрабатываться, ваш экземпляр Cloud SQL не сможет удовлетворить спрос.Вы можете избежать этой проблемы, ограничив максимальное количество экземпляров App Engine.Для получения дополнительной информации см. Масштабирующие элементы .
.
...