,

An Insight into the Engineering Aspect of Node JS

Posted by






How Node.js Works | Engineering Side

How Node.js Works | Engineering Side

Node.js is a powerful open-source server-side framework that has gained immense popularity among web developers over the years. As a JavaScript runtime built on Chrome’s V8 JavaScript engine, Node.js enables developers to build scalable and high-performance applications. In this article, we will explore the engineering side of how Node.js works.

The Event-Driven Architecture

At the core of Node.js, lies its event-driven, non-blocking I/O model. Unlike traditional server-side platforms like Apache which rely on thread-based models, Node.js operates on a single-threaded event loop. This means that Node.js can handle concurrent connections efficiently without spawning new threads for each request.

Node.js uses a system of events and callbacks to handle incoming requests. When a request is received, an event is triggered, and a callback function is executed. These callbacks are non-blocking, meaning that they are executed asynchronously, allowing the event loop to continue processing other requests in the meantime.

The JavaScript Runtime

Being based on the V8 JavaScript engine, Node.js leverages the speed and performance optimizations provided by V8. V8 compiles JavaScript code to machine code before execution, resulting in highly efficient and performant applications. This makes Node.js an excellent choice for building real-time web applications or handling large-scale web traffic.

The Single-Threaded Event Loop

As mentioned earlier, Node.js runs on a single-threaded event loop. So, how does it handle concurrent requests efficiently? The answer lies in the asynchronous nature of Node.js. When a request comes in, Node.js registers a callback function and continues processing other events without blocking any threads.

Once a callback function is ready to be executed, it is added to the event queue. The event loop continuously checks this queue and handles each callback when it becomes the next event in line. This event-driven approach allows Node.js to manage a large number of concurrent clients without wasting system resources on thread management.

Non-Blocking I/O

A significant advantage of Node.js is its ability to perform non-blocking I/O operations efficiently. Traditional server-side frameworks usually block the execution thread when waiting for I/O operations to complete, resulting in poor performance for applications with high I/O demands.

Node.js solves this problem by utilizing event-driven, non-blocking I/O operations. When an I/O operation, such as reading from a file or making an HTTP request, is triggered, Node.js initiates the operation and continues executing other tasks. Once the I/O operation is complete, a callback function is invoked, and the result is processed. This non-blocking approach ensures that the event loop remains active and can handle other requests, improving the overall efficiency of the application.

Conclusion

Node.js is a game-changer in the world of server-side development. Its event-driven, non-blocking architecture, coupled with the high-performance V8 JavaScript engine, makes it an ideal choice for building scalable and efficient web applications. By leveraging JavaScript on the server-side, developers can seamlessly transition from client-side to server-side development, resulting in reduced code complexity and increased productivity.

Understanding the engineering side of how Node.js works is crucial for developers looking to harness its full potential. By embracing the event-driven, non-blocking nature of Node.js, developers can create performant and scalable applications that can handle thousands of concurrent connections with ease. So, whether you’re a seasoned developer or just starting with Node.js, dive into its engineering side, and unlock the possibilities it offers.


0 0 votes
Article Rating
20 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
tariq ghori
8 months ago

Thanks for this video bhai

Abhishek Sharma
8 months ago

yes pls make videos on node js

Ajith R
8 months ago

10:09 we want

Gokul Ambalavanan
8 months ago

Hi Hitesh thank you for the awesome content , can you please make a video on event emitters and dive deep down into these working concepts ,really love to be informed on the inner workings ❤

Adler Pazhouhan
8 months ago

Hey, keep making these cool training videos! I love how you really dig into the topics instead of just doing it for the views like some others. Your way of teaching is more like a computer science expert, and I'd totally watch more of your Node.js and React videos. Thanks!

Ongchen Sherpa
8 months ago

💯💯💯

Dk_vid
8 months ago

I love the way you teach, if possible make the videos on these topics, I barely comments on video and I have subscribed you since almost a year or more than that. I also love your new channel that is chai and code, your explanation is really awesome.

Shubham
8 months ago

Thanks a lot sir love😇🥰 the way you teach././…

Neutral Engineer
8 months ago

I was core critic of you. Even on LinkedIn too i criticize you. But today I SUBSCRIBED your channel. You are great. Doing good Job Hitesh.🎉

ojjasvi jain
8 months ago

awesome video

Rohit soni
8 months ago

Explanation is Litr Amazing !!!!!😀

Aman Thakur
8 months ago

i have just one like sir……

Shakti Dubey
8 months ago

I love these engineering side videos i will say that you should make at least 2 videos per week for these kind of videos as it helps us to understand it from basics and clears a lot of doubt when learning something new.

@maestrotoy
8 months ago

Real info I thank you for sharing

syed majid ali Shah
8 months ago

Hi hitesh, plz make a long details video of nodeJS as you made for javascript and react…plz plz plz…. Humble request. U r amazing…

Pritam Raha
8 months ago

Sir, never ever delete this particular video from your channel. delete your entire channel, but dont delete this…

jibanjyoti Nayak
8 months ago

love you Sir

Abdul Amin khan
8 months ago

thank you sir

premal upadhyay
8 months ago

Can we expect the video of Go lang working? Just like this one..

Tejas Sarvaiya
8 months ago

Hitesh sir is like open source, always find best way to explain core concept. Thank you Hitesh sir this means a lot for me.❤❤