Chapter 9. Scaling Node

Scaling an application is about making it able to handle more work without slowing down or crashing. You can scale any application by either giving its servers more memory or CPU power, or by adding more servers.

For Node, with its non-blocking and event-driven model, scaling is something that’s baked in the core of the runtime environment. A Node application should be comprised of multiple small distributed nodes. You can run the same Node process on multiple CPU cores (or multiple servers) and then load balance the requests among them. Node has a built-in module to help with that.

In this chapter, we’ll learn all about the Node "node:cluster" module, which can help improve the workload performance of a Node process by making it utilize the full CPU power of a server. It also improves the availability and uptime of servers.

Strategies of Scalability

While making an application able to handle more work ...

Get Efficient Node.js now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.