C'è una buona spiegazione here. Per farla breve, ci sono 2 comportamenti diversi a seconda della versione del tuo nodo:
nodo 0.8-0.10 (e 0.12+ su Windows): ogni processo è in ascolto sulla porta. Il sistema operativo decide quale risvegliarsi quando arriva una nuova connessione. In alcune applicazioni in alcuni sistemi operativi questo non funziona molto bene e lascia alcuni processi con una forte maggioranza delle connessioni; nella maggior parte funziona bene.
nodo 0.12+ (eccetto su Windows): il processo master è in ascolto sulla porta. Quando entrano, li consegna ai lavoratori in modo da avere un round robin.
In entrambi i casi, l'applicazione deve considerarla casuale (sebbene probabilmente si possano ipotizzare delle ragionevoli caratteristiche di bilanciamento del carico). Tuttavia, se per qualche motivo bisogno di un controllo più fine, una frase in tale articolo (da notare che è stato scritto da un collaboratore nucleo node.js, quindi c'è qualche autorità qui):
Girando l'algoritmo di selezione in qualcosa che è configurabile o collegabile dallo sviluppatore è un cambiamento che è in esame.
dice che si potrebbe ottenere ciò che stai cercando. Sembra che ci sia an issue on Github relativo a questa opzione.
fonte
2013-11-25 05:41:56
Non so 0.12 ma penso che sia RR in 0.11.2. Ecco il [commit] rilevante (https://github.com/joyent/node/commit/e72cd41) – user568109
@ user568109 Interessante. Sembra "nuovo in v0.12", l'articolo significa che è la prima versione principale in cui è inclusa, che include solo i numeri pari? Aggiornato a qualcosa di più vicino alla lingua dell'articolo (facendo riferimento solo alle versioni principali 0.8, 0.10 e 0.12). –