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.