2011-05-27 3 views
3

J'ai actuellement deux instances de serveurs nodejs en cours d'exécution, les deux écoutant sur localhost, avec l'instance 1 sur le port 15000 et l'instance 2 sur le port 16000. La première va fonctionner comme un Maîtriser avec la seconde dans le cadre d'un groupe d'esclaves, où toute demande entrant dans le premier est transmise à la seconde. J'ai des problèmes pour envoyer des messages de la première à la seconde.Transférer obtenir la requête d'un serveur node.js à un autre

var jquery = require('jquery'); 
jquery.get('http://localhost:16000'); 

appelé de la première ne soit pas reçu par le second (jquery est correctement chargé). Je suis sur le point d'essayer Mootools, mais je voudrais un conseil sur la meilleure façon de transférer une requête nodejs entrante directement à une autre instance d'un serveur nodejs.

+0

._. Qu'est-ce que tu fais. N'utilisez pas jquery dans le noeud. Créer un 'HTTPClient' – Raynos

Répondre

5

Vous voulez cluster.

Vous appelez simplement cluster avec une instance d'un http.Server ou net.Server et il effectue l'équilibrage de charge pour vous.

Si vous souhaitez déployer quelque chose vous-même, appelez vos clients avec http.request, ce qui est un moyen judicieux d'envoyer une requête HTTP à un serveur particulier dans node.js. Utiliser jQuery ou MooTools pour le faire est horrible (ils n'utilisent pas la qualité C native, comme le font les modules node.js standard!). Ne fais pas ça. La seule raison pour laquelle vous voudriez que jQuery/MooTools soit dans un noeud est de manipuler jsdom

+0

Est-ce que le cluster équilibre automatiquement la charge du travail du serveur? Ce qui signifie que cluster (serveur) .listen (4000) écoute sur le port 4000 et distribue automatiquement les demandes entrantes dans un pool de serveurs de travail? Ou est-ce que je l'interprète mal? – shelman

+0

@shelman, c'est ce qu'il fait. Il par défaut un nombre de travailleurs égal au nombre de processeurs – Raynos

Questions connexes