Exploring Node.js Architecture

Shailendra Chauhan  Print   2 min read  
31 Dec 2015
29 Aug 2018
Beginner
8.47K

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.

Take our free skill tests to evaluate your skill!

In less than 5 minutes, with our skill test, you can identify your knowledge gaps and strengths.

Learn to Crack Your Technical Interview
+
+
Accept cookies and close this message