0
0
Node.jsframework~30 mins

How cluster module works in Node.js - Try It Yourself

Choose your learning style9 modes available
How cluster module works
📖 Scenario: You want to create a simple Node.js server that uses the cluster module to run multiple worker processes. This helps your server handle more requests by using all CPU cores.
🎯 Goal: Build a Node.js script that uses the cluster module to create worker processes equal to the number of CPU cores. Each worker runs a simple HTTP server that responds with 'Hello from worker'.
📋 What You'll Learn
Create a variable to import the cluster module
Create a variable to import the http module
Create a variable to import the os module
Use cluster.isMaster to check if the current process is the master
In the master process, fork workers equal to the number of CPU cores
In each worker process, create an HTTP server that responds with 'Hello from worker'
Listen on port 8000 in each worker
💡 Why This Matters
🌍 Real World
Using the cluster module helps Node.js servers use all CPU cores, improving performance and handling more users at the same time.
💼 Career
Understanding clustering is important for backend developers to build scalable and efficient Node.js applications.
Progress0 / 4 steps
1
Import required modules
Create three variables called cluster, http, and os. Import the Node.js modules cluster, http, and os respectively using require.
Node.js
Need a hint?

Use const cluster = require('cluster'); to import the cluster module.

2
Check if current process is master
Add an if statement that checks if cluster.isMaster is true. This will help you run code only in the master process.
Node.js
Need a hint?

Use if (cluster.isMaster) { } to check the master process.

3
Fork workers for each CPU core
Inside the if (cluster.isMaster) block, create a for loop that runs from 0 to os.cpus().length. Inside the loop, call cluster.fork() to create worker processes.
Node.js
Need a hint?

Use for (let i = 0; i < os.cpus().length; i++) { cluster.fork(); } inside the master block.

4
Create HTTP server in worker processes
Add an else block after the if (cluster.isMaster). Inside the else, create an HTTP server using http.createServer() that responds with 'Hello from worker'. Make the server listen on port 8000.
Node.js
Need a hint?

Use http.createServer((req, res) => { res.end('Hello from worker'); }).listen(8000); inside the else block.