5 votes

pm2, noeud, instances et ports

Désolé si cette question est pour les débutants, mais je ne vois pas comment faire / comment cela fonctionne.

1/ Je suis en train de créer une API en utilisant node.js, API servant quelques applications frontales.

2/ Pour le rendre robuste, j'utilise pm2 (excellent produit), avec nginx comme proxy, c'est bon.

3/ Mais comment puis-je gérer plusieurs instances de mon api node.js ? Je vois le 'cluter mode', bien, mais que se passe-t-il lorsque mon node.js écoute sur un seul port (8080 par exemple) ? Si je configure 4 processus / instances, ils ne peuvent pas tous écouter sur le même port en même temps ? ... donc : est-ce que pm2 dispatche les appels entre les instances (agissant ainsi comme une sorte de proxy).

Tout indice sera apprécié, comment cela fonctionne-t-il ?

Greg

5voto

Aky_0788 Points 471

Le nœud en mode cluster crée un maître, puis génère des processus de travail qui partagent une connexion TCP, de sorte que la charge est répartie entre les travailleurs.

Voici un bel article qui élabore à la fois pm2 et node cluster -

https://getstream.io/blog/running-pm2-node-js-in-production-environments/

J'espère que cela vous aidera.

0voto

Gregoire Mulliez Points 328

Merci à tous pour vos réponses, Donc, à partir de tous les conseils que vous m'avez donnés :

  • Je dois gérer moi-même les sessions et les variables entre les threads,
  • Le mode cluster de pm2 est la bonne solution
  • pm2 répartira les appels entre les instances, disons de manière circulaire.

Affaire classée, encore merci beaucoup pour tous vos conseils et réponses, vous m'avez fait gagner beaucoup de temps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X