Quindi sto iniziando a utilizzare node.js per un progetto che sto facendo.Processo figlio per attività intensiva CPU?
Quando un client effettua una richiesta, il mio server node.js recupera da un altro server un json e quindi lo riformatta in un nuovo json che viene servito a questo client. Tuttavia, il json che il server dei nodi ha ricevuto dall'altro server può potenzialmente essere abbastanza grande e quindi il "massaggio" dei dati è piuttosto intenso.
Ho letto da poche ore come node.js non è ottimo per le attività di cpu e la risposta principale che ho visto è quella di generare un processo figlio (in pratica un file .js che attraversa un diversa istanza di nodo) che si occupa di tutte le attività intensive della cpu che potrebbero bloccare il ciclo dell'evento principale.
Quindi diciamo che ho 20.000 utenti simultanei, il che significherebbe che genererà 20.000 lavori di livello OS poiché sta eseguendo questi processi figlio.
Ti sembra una buona idea? (Un server Web diverso crea solo 20.000 thread sullo stesso processo.)
Non sono sicuro se dovrei eseguire un processo figlio. Ma ho bisogno di fare un compito intensivo non blocco della CPU. Qualche idea su cosa dovrei fare?
segmentare un file JSON, creare 4 istanze nodo per server e 2-5 server? e ora ho una soluzione estremamente scalabile ed economica? .. mago. – foreyez
È più semplice di quello che sembra. Questo 2-5 server è per un'enorme quantità di throughput. Sono anni in linea da dove sei. NodeJS è stato creato per essere usato come un nodo in un sistema, è il minimo indispensabile per fare tutto ciò che vuoi. Non è una soluzione pre-scalata alla scalabilità, tuttavia è possibile progettare un ottimo sistema utilizzandolo. – miketheprogrammer