Как добиться избыточности движка Google App с NodeJs - PullRequest
1 голос
/ 07 марта 2019

У меня есть проект NodeJs на движке приложений (GAE).

Всякий раз, когда происходит неожиданный сбой в вызове службы, NodeJ должны перезапускаться (я считаю, что это нормально), однако это оставляет весь сервер недоступным в течение пары секунд, что может повлиять на других пользователей.

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

Однако я не уверен, что это принесет больше работы, так как проект узла js выполняет некоторые процедуры инициализации и имеет некоторые запланированные задачи cron. Если я создам больше экземпляров, будут ли дублироваться задачи chron?

Или каков наилучший способ управления избыточностью в такой среде?

1 Ответ

1 голос
/ 07 марта 2019

Чтобы всегда иметь 2 запущенных экземпляра, вы делаете это в app.yaml set

automatic_scaling:
  min_instances: 2

https://cloud.google.com/appengine/docs/standard/python/config/appref#scaling_elements

Задачи Chron не будут дублироваться.

Это способ иметь такой тип резервирования, но он заключается в том, что нужно всегда платить за 2 экземпляра

Но что происходит, когда вы действительно получаете «неожиданный сбой при вызове службы». Это не звучит нормально.

...