NodeJS Scaling - Introduction


At Node.js Development, conversations about scaling come up quite early and that's because the intent of Node.js and the goal of the Node.js Developer is to keep things small. 
We create small applications with small surface areas. Each node can only handle a small amount of traffic, but these small bits can be powerful. Just like everything you see in the world around you is made up of the tiniest particles, atoms, and molecules, global clouds are made up of many tiny processes. 



Processes that all work together to handle massive amounts of traffic and data. In this course, we're gonna learn how to break our applications and data up into even tinier bits, single instances that are scalable. We will examine the scale cube and discuss the three directions in which an application can be scaled.





 Some of the important steps for scaling are as follows:
·         Cloning, the process of forking our Node.js processes into multiple instances.
·         Group these instances under our main process and create clusters that never have to go down. 
·         Scaling data layers. Specifically, spliting data between databases using a technique called Horizontal Partitioning.
·         Decomposing our applications into even smaller applications, microservices. Microservices are tiny services that are designed to only work on part of the business features.