PM2 необходим для запуска образов докеров через ECS? - PullRequest
0 голосов
/ 02 февраля 2019

Мы используем PM2 в производстве для приложений nodejs

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

Наконец, появляются поставщики, которые управляют контейнерами, например, AWS ECS раскручивает машины и запускает контейнеры докеров.Когда он выходит из строя или недоступен, он раскручивает другую машину и проверяет, работает ли приложение, если это возможно.Также в самом докере есть опция HealthCheck , которая используется AWS ECS (я предполагаю, что другие провайдеры также будут использовать ее).

Итак, учитывая все это, мне действительно нужен PM2 или какой-либо другой диспетчер процессов при запуске образа докера в ECS или я что-то упустил полностью?

1 Ответ

0 голосов
/ 04 февраля 2019

По-моему, нет - вам не нужно использовать PM2 или аналогичные менеджеры процессов для контейнеров в ECS.

Просто придерживайтесь запуска одного процесса (т.е. node) для каждого контейнера и позволяйтеагент ECS управляет всем остальным.Как вы сказали, если произойдет сбой и процесс завершится, агент просто заменит его другим контейнером в вашем кластере.Для обеспечения устойчивости убедитесь, что в вашем кластере есть как минимум 2 экземпляра ECS, и запустите как минимум 2 контейнера для каждого приложения (агент будет размещать их между экземплярами).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...