2014-09-12 2 views
0

Я пытаюсь развернуть мое приложение MEANjs в производство ...
До сих пор я использовал jenkins, git, rsync и т. Д., Чтобы скопировать проект на удаленный сервер.Развертывание горячей линии Meanjs

и на заключительном этапе я просто позвонить

  1. остановка myMeanjsApp
  2. Заменить папку с новой версией приложения
  3. Вызов начать myMeanjsApp

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

Я видел this, но я не уверен, что его способ пойти или есть ли другой простой способ сделать это?

ответ

0

Обычно широкомасштабное веб-приложение обновляется путем создания новых виртуальных машин с обновленной версией программного обеспечения. Новые виртуальные машины затем добавляются в балансировщик нагрузки (вручную или автоматически). Затем виртуальные машины, на которых запущена старая версия, удаляются из пула балансировки нагрузки и когда все запросы на выполнение старых vms выполняются, vms можно уничтожить. Например. Возможности AWS, такие как ELB и группы автомасштабирования, делают это привлекательным способом обновления программного обеспечения.

Вы можете сделать то же самое, даже если у вас есть один сервер, запустив новую версию в другой порт.

Модуль npm npm является справедливым, если вы должны заменить код на месте.

Для некоторых приложений может потребоваться просто прекратить прием новых соединений и перезапустить их с новой версией при последнем соединении.

И для некоторых приложений вы можете просто убить старую версию и начать новую версию в любое время. Все зависит от ваших требований и окружающей среды.