Explore sophisticated programming techniques that can help you scale your Node.js applications, including cloning, database scaling, and decomposing apps into microservices.
- [Alex] Hello, welcome to Advanced Node.js: Scaling Applications. I'm Alex Banks. I'm not surprised that you're here. 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. We're gonna start off the scaling discussion by talking about cloning, the process of forking our Node.js processes into multiple instances. We will then learn to group these instances under our main process and create clusters that never have to go down.
Next we'll take a look at how data layers can be scaled. Specifically, we'll discuss how to split data between databases using a technique called Horizontal Partitioning. Finally, we'll learn how to decompose our applications into even smaller applications, microservices. Microservices are tiny services that are designed to only work on part of the business features. This course is designed to introduce the main techniques involved with scaling Node.js Applications. Once you have completed this course, you will understand how to scale a Node.js Application using these techniques.
Node is designed to scale and scaling Node Applications is fun. I'm excited. I hope you're ready. Let's get started.
- The scale cube
- Scaling the x-axis, z-axis, and y-axis
- Forking processes
- Implementing a database instance
- Database scaling
- Setting up horizontal partitioning
- Decomposing your app into microservices