Define "normal" server...
Anyway, my 2c:
The main thing about Node.js is that it is single-threaded, but all I/) operations
execute asynchronously: this sets Node.js apart from, say, JEE application servers.
This model, coupled with the simplicity and speed of adding more server instances
(clustering), make for a more resilient and easier concurrency model than the Java
one (good luck with Threads in Java, even piping two streams is a challenge).
Actually, Node,js was designed to work in a networked environment, hence the
simplicity of developing networked servers/clients, and since Node,js is quick to
start and low on memory consumption, it lends itself well to decomposing an
application into small services, rather than concentrating then in one big
Application Server (guess what is the more resilient model).
Hope this helps,
Luca Morandini
Data Architect - AURIN project
Melbourne eResearch Group
Department of Computing and Information Systems
University of Melbourne
Tel. +61 03 903 58 380
Skype: lmorandini