The following is cross-posted with permission of my employer and is an example of some of the content we are producing over at Anexinet. Please check it out.
It’s not uncommon in the IT industry to hear people rave about the next big thing and subsequently to sit there wondering, “Just what the heck is it and why do I care?” Node.js certainly seems to be one of those technologies, and frankly, their own answer to this question doesn’t help:
And we still wonder…. So, let’s break it down. There seems to be 3 main pieces to the above statement.
- “… uses an event-driven, non-blocking I/O model….”
- “… package ecosystem, npm, is the largest ecosystem of open source libraries in the world.”
But servers need to scale?
Node.js uses the libuv library to implement an event loop. This loop is constantly monitoring an
event queue and processing entries off that queue in a synchronous matter. However, items can be
pushed onto that queue in an asynchronous manner from the C++ portions of node and the V8 engine.
So, incoming network requests coming from the operating system can be processed asynchronously, put on to the event queue where node processes them one at a time.
A package manager to die for…..