Каков рекомендуемый способ временного отключения моего приложения Google App Engine, чтобы я мог выполнить миграцию схемы?

Я хочу отключить доступ пользователей к моему приложению, чтобы выполнить миграцию схемы. Я рассмотрел несколько возможностей и нашел возможные недостатки:

  1. Отключить запись хранилища данных. Я бы предпочел просто отключить все приложение, чтобы люди не видели никаких ошибок и т. д. Кроме того, я предполагаю, что отключение записи не позволит мне выполнить миграцию.

  2. Отключите приложение. Мне не ясно, что это отключит его только для моих пользователей, в результате чего я не смогу выполнить миграцию. Я также не уверен во времени отключения/включения.

  3. Перенаправить мое доменное имя на временную страницу — мое приложение по-прежнему будет доступно на appspot.com.

  4. Загрузить новую версию моего приложения, которое не отвечает на запросы, кроме направления на «временно недоступную» страницу.

Какие-либо предложения?


person shino    schedule 10.02.2013    source источник


Ответы (3)


Предложение номер 4 кажется, вероятно, лучшим способом сделать это. Некоторые фреймворки имеют «режим обслуживания», в котором все входящие запросы будут перенаправлены на страницу, указывающую, что сайт не работает из-за обслуживания. Если ваш фреймворк не поддерживает такой режим, вы можете просто загрузить новую версию своего приложения (возможно, назовите версию maintenance) и переключиться на нее в качестве новой версии по умолчанию. Эта версия может быть пустым приложением, в котором все входящие запросы перенаправляются на «страницу обслуживания», указывающую, что сайт закрыт на техническое обслуживание. Затем вручную перейдите к версии вашего приложения с кодом миграции и выполните его (http://<version>.<appname>.appspot.com). Переключите версию вашего приложения по умолчанию на новую версию с новой схемой, когда вы закончите миграцию.

Объяснение других ваших идей

  1. Отключение записи не позволит даже вам делать записи в приложении. Я считаю, что это больше предназначалось для миграции из одного приложения в другое или других приложений «замораживания» хранилища данных.
  2. Отключение приложения полностью отключит приложение.
  3. Перенаправление вашего домена приведет к задержке DNS при миграции, что может занять 48 часов для полного распространения в каждом направлении (переход на временную страницу, а затем возврат к новой версии).
  4. Как уже упоминалось выше, ИМХО, это был бы лучший способ сделать это.
person someone1    schedule 10.02.2013

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

Кстати. Поскольку хранилище данных не имеет схемы, у меня всегда была возможность изменить «схему», не закрывая приложение.

person voscausa    schedule 10.02.2013

Перейдите в GCP › Механизм приложений › Настройки › Отключить приложение.

Вы можете включить свое приложение в любое время.

Если вы отключите это приложение, произойдет несколько вещей:

  1. Приложение перестанет показываться

  2. Все данные и состояние будут сохранены

  3. Плата за выставление счетов будет по-прежнему взиматься, когда это применимо.

  4. Ваши очереди задач будут продолжать работать. Их можно приостановить в пользовательском интерфейсе Cloud Tasks.

person Yousef Alm    schedule 08.02.2021