Primer to Node.js

Node.js has evolved over the years and has now become the go-to technology for anyone who wants to embrace microservices. Node.js was created to solve the massive I/O scaling problem, which when applied to our microservice design will result in a match made in heaven. The package manager for Node.js has more modules than Maven, RubyGems, and NuGet, which can be used directly and save lots of productive hours. Characteristics such as an asynchronous nature, event-driven I/O, and non-blocking mode make it one of the best solutions for creating high-end, efficient performance, real-time applications. When applied to microservices, it will be able to handle an extreme amount of load with low response times and low infrastructure. Let's look at one of the success stories of Node.js and microservices.

PayPal, seeing the trending Node.js, decided to go with Node.js in their accounts overview page. They were bewildered by the following results:

  • Node.js application development was developed at twice the rate of Java development and with fewer people
  • The code had 33% fewer Lines of Code (LOC) and 40% fewer files
  • A single core Node.js application handled double the requests per second when compared to five core Java application setups

Netflix, GoDaddy, Walmart, and many more have similar stories.

Let's look at some of the primary and useful concepts essential for Node.js development that we will use throughout our journey. We will see various topics such as the Event Loop, how to achieve clustering, async fundamentals, and more.