Please enable Javascript to correctly display the contents on Dot Net Tricks!

Exploring Node.js Architecture

Posted By : Shailendra Chauhan, 31 Dec 2015
Updated On : 31 Dec 2015
Total Views : 1,096   
 

Node.js has mainly two types of components – core components and node.js API (modules). The core components are written in C and C++, and node.js API are written in JavaScript. Diagram for Node.js architecture is given below:

Node.js 4.2.4 Architecture
  1. Node.js API

    These are written in JavaScript and directly exposed to outer world to interact with Node.js internal components. Node.js Binding – These are Core API, which bind the JavaScript with C / C++ libraries.

  2. C/C++ Add-ons

    You can also develop your Node.js Add-ons using C/C++ to work with Node.js.

  3. V8

    It is Google’s open source JavaScript engine, written in C++. Actually, it is a JavaScript VM which compile the JavaScript code into native machine code instead interpretation. It is the fastest JIT (Just-In-Time) compiler for JavaScript.

  4. Libuv

    It is a multi-platform support C++ library which is responsible for handling thread pool, event loop and async I/O operations in Node.js. In Node.js, blocking I/O operations are delegated to Libuv modules which has a fixed size C++ thread pool to handle these operations. When these operations are completed, they are notified to Event loop.

  5. C-ares

    It is a C library for handling async DNS request, name resolves and multiple DNS queries in parallel.

  6. http_parser

    It is a C library for parsing HTTP request and response.

  7. OpenSSL

    It is a C library for the implementation of Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols. It also provides all the necessary cryptography methods like hash, cipher, decipher, sign and verify etc.

  8. Zlib

    It is a C library for data compression and decompression.

What do you think?

I hope you get the idea of Node.js internal structure. I would like to have feedback from my blog readers. Your valuable feedback, question, or comments about this article are always welcome.

 
Recommended for you
 
About the Author
Shailendra Chauhan

Shailendra Chauhan is an Entrepreneur, Author, Architect, and Corporate Trainer. He has rewarded as Microsoft MVP for his exceptional contributions in Microsoft Visual Studio and Development Technologies.

With more than 7 years in hand experience Shailendra Chauhan is a polymath in the domains of Microsoft .NET technologies and an array of other technologies including JavaScript, AngularJS, Node.js, Ionic and NoSQL Databases to name but a few.

He is the author of some of most popular e-books which encompass technical Interview on Node.js Interview Questions and Answers , ASP.NET MVC Interview Questions and Answers , AngularJS Interview Questions and Answers and LINQ Interview Questions and Answers. Furthermore he is a technical reviewer for book on ASP.NET MVC 4 Mobile App Development. Know more...
 
Free Interview Books
 
10 SEP
ASP.NET MVC with AngularJS Development (offline)

Sat, Sun 05:00 PM-06:30 PM IST

More Details
7 SEP
ASP.NET MVC with AngularJS Development (online)

Weekdays (Mon-Fri) 07:30 AM-09:00 AM IST

More Details
27 AUG
ASP.NET MVC with AngularJS Development (online)

Weekend (Sat, Sun) 03:00 PM-05:00 PM IST

More Details
27 AUG
PPC Marketing (offline)

Sat, Sun 03:00 PM-05:00 PM IST

More Details
26 AUG
NodeJS Development (online)

MON-FRI 06:00 AM-07:30 AM IST

More Details
20 AUG
NodeJS Development (offline)

Sat, Sun 11:00 AM-12:30 PM IST

More Details
16 AUG
NodeJS Development (online)

Mon-Fri     09:00 PM-10:30 PM IST

12 AUG
ASP.NET MVC with AngularJS Development (online)

Mon-Fri     09:30 PM-11:00 PM IST

5 AUG
AngularJS Development (online)

Mon-Fri     08:00 PM-09:30 PM IST

1 AUG
ASP.NET MVC with AngularJS Development (online)

Mon-Fri     07:30 AM-09:00 AM IST

24 JUL
AngularJS Development (offline)

Sat,Sun     08:00 AM-09:30 AM

24 JUL
ASP.NET MVC with AngularJS Development (offline)

Sat, Sun     09:30 AM-11:00 AM

14 JUL
PPC Marketing (offline)

Sat, Sun     12:00 AM-02:00 PM IST

11 MAY
.NET Development (offline)

Mon-Fri     9:00 AM-11:00 AM IST

BROWSE BY CATEGORY
 
SUBSCRIBE TO LATEST NEWS
 
LIKE US ON FACEBOOK
 
+