In this article, we will learn about the Node.js process model and understand why we should use Node.js.
Traditional Web Server Model
In the traditional web server model, each request is handled by a dedicated thread from the thread pool. If no thread is available in the thread pool at any point of time then the request waits till the next available thread. The dedicated thread executes a particular request and does not return to thread pool until it completes the execution and returns a response
To get in-Depth knowledge on Nodejs you can Enroll for a live demo on Nodejs online training
Node.js Process Model
Node.js processes user requests differently when compared to a traditional web server model. Node.js runs in a single process and the application code runs in a single thread and thereby needs fewer resources than other platforms. All the user requests to your web application will be handled by a single thread and all the I/O work or long-running job is performed asynchronously for a particular request. So, this single thread doesn't have to wait for the request to complete and is free to handle the next request. When asynchronous I/O work completes then it processes the request further and sends the response.
An event loop is constantly watching for the events to be raised for an asynchronous job and executing callback function when the job completes. Internally, Node.js uses libev for the event loop which in turn uses an internal C++ thread pool to provide asynchronous I/O.
To learn more about Node.js Process Model and other great features of Nodejs, you can Enroll for a live demo on Nodejs Course
The following figure illustrates the asynchronous web server model using Node.js.
Node.js process model increases the performance and scalability with a few caveats. Node.js is not fit for an application which performs CPU-intensive operations like image processing or other heavy computation work because it takes time to process a request and thereby blocks the single thread.
Take your career to new heights of success with Nodejs Certification
Top comments (0)