Exécuter Node.js App avec le module de cluster n’a pas de sens dans Heroku?

Heroku peut courir

Web Dynos

et

Dynos ouvrier

afin que Web Dynos s’occupe des itinéraires

et le travailleur Le travailleur Dynos s’occupe du traitement des travaux.

Puisqu’il y a une unité de Dyno ,

Il semble que l’utilisation du module de cluster Node.js n’ait aucune signification pour Heroku.

Parce que le module de cluster Node.js doit utiliser tous les cœurs de la CPU du serveur

et Dyno me semble une unité virtuelle du cœur du processeur.

Ai-je raison? Ou vaut-il toujours la peine d’exécuter une application node.js avec un module de cluster?

J’ai trouvé qu’il valait vraiment la peine d’utiliser le module de cluster

parce que chaque dyno a 4 cœurs de processeur.


Référence: http://www.quora.com/Heroku/How-powerful-is-one-Heroku-dyno

C’est une vieille question, j’ai pensé que je devrais mettre à jour pour une réponse plus complète.

Selon ce tableau sur leur documentation

  • 1X Dynos ont 1 cluster
  • 2X Dynos ont 2 clusters
  • PX Dynos ont 12 clusters

Donc, si vous utilisez 1X dynos, il ne sera pas nécessaire d’implémenter des clusters. Si vous utilisez les autres, c’est une bonne idée de le faire.

Le nombre de clusters peut être trouvé dans la variable d’environnement WEB_CONCURRENCY.

C’est une très bonne nouvelle pour moi. J’ai supposé qu’un dyno n’était qu’un kernel. En fait, j’ai écrit et ouvert une source pour une configuration de cluster petite mais très bien faite (soutenue par redis et une queue)

https://bitbucket.org/jeveloper/nodejscluster