при запуске будет поднимать другие микросервисы
Задача такая
1 сервис слушает tcp порт 3001 собирает данные и кладет их в бд и кидает пуш по API 3 сервису
2 сервис это ws client его задача подписка на сторонний ws сервис слушает событие и кладет данные в бд и кидает пуш по API 3 сервису
3 сервис ws Express REST API крутиться вся логика на него подписывается и забирает данные фронт
я знаю что можно запустить все по отдельности через pm2 но хотелось бы иметь один главный сервис написанный на node который смог бы мониторить остальные и в случае чего перезапустить микросервисы и отправить пуш админам о проблеме
может кто то делал что то подобное или есть готовые решение ?
А как он будет перезапускать? Сервисы могут быть на разных машинах?
все 3 сервиса на одной машине
на счет как пока не знаю ищу способ
Тогда основной процесс должен запускать дочерние, тут хватит child_process
Спасибо за информацию посмотрел запуск теперь можно сделать но этот способ не решает проблему мониторинга и перезапуска в случаи падание одного из сервисов
решает родитель может поймать событие выхода дочернего процесса, опять же в доке по модулю это описано на крайний случай можешь поднять служебные сокеты и пинговать дочек если кто-то не отвечает (завис, долгая синхронная операция или другие причины) - пытаться убить процесс и поднять его заново
ок я чуток почитаю инфу спасибо
Вы сами назвали PM2, готовое решение, можно посмотреть ещё и systemd, supervisor, docker, kubernetes, rancher
Обсуждают сегодня