Disclaimer: Lavoro per un'azienda che contribuisce a node.js e ne promuove l'utilizzo, quindi la mia opinione potrebbe essere di parte.
Come altri menzionati nei commenti, node.js dovrebbe essere una buona soluzione per lo scenario. In realtà è uno degli scenari più comuni in cui le persone utilizzano node.js: recupera i dati da fonti (possibilmente multiple), esegue una piccola quantità di elaborazione della CPU e restituisce la risposta o memorizza il risultato. A meno che il filtro dei messaggi non sia costoso per la CPU, l'implementazione di node.js probabilmente supererà la versione di J2EE.
Il motivo è che Node.js è fortemente ottimizzato per soluzioni in cui il server trascorre la maggior parte del tempo in attesa. In attesa di connessione client, in attesa di risposta del database, in attesa di lettura/scrittura del disco, attesa del client per leggere la risposta, ecc.
J2EE utilizza multi-threading, in cui si ha un thread per gestire ogni richiesta, che è non ottimale in questo caso. La maggior parte dei thread sono in attesa, quindi non si ottiene il vantaggio di eseguire molto codice in parallelo, ma si deve comunque pagare il prezzo del cambio di contesto e dell'utilizzo della memoria più elevato.
C'è una cosa che vorrei prendere in considerazione prima di node.js: sei in grado e autorizzato a distribuire node.js nel tuo ambiente di produzione? Il passaggio a una nuova piattaforma comporta alcuni costi associati, le persone che utilizzano la propria applicazione dovranno imparare come gestire le applicazioni node.js.
fonte
2013-05-20 08:30:21
Penso che questo sia un eccellente programma per gli animali domestici da scrivere (a seconda del database), controllare http://nodejs.org/api/dgram.html per la documentazione –
Il nodo funziona meglio se la maggior parte del tempo viene speso in IO (db, disco, rete, ecc.). Mentre la tua app sta eseguendo l'IO, il nodo è libero di gestire più richieste. Se sta facendo un sacco di elaborazione intensiva della CPU, allora è bloccato a farlo e nient'altro. La maggior parte di ciò che hai elencato sembra perfetto per il nodo, tranne forse "I messaggi filtrati vengono elaborati". Se l'elaborazione è costosa, potresti avere un problema. –
Hai riscontrato un problema con java EE? spettacoli o concorrenza? hai molte soluzioni per la concorrenza all'interno di java, vale la pena aggiungere un altro livello con un linguaggio diverso, non lo penso, a meno che ciò che hai provato non sia riuscito. – mpm