Site icon DataFlair

Scaling Nodejs Applications

scaling nodejs applications

FREE Online Courses: Elevate Your Skills, Zero Cost Attached - Enroll Now!

In this article, you will get to know how to scale a nodejs application. We have discussed the methods with code and examples for scaling node js application.

Methods for Scaling Nodejs Applications

1. exec() method:

This method executes a command and it buffers the output.

Syntax:

child_process.exec(command[, options], callback)

Parameter:

a. env (Object) Environment key-value pairs

b. cwd (String) Current working directory of the child process

c. uid (Number) Sets the user identity of the process.

d. gid (Number) Sets the group identity of the process.

Example for exec method

We will be creating two js files, one index file and another child.js file.
We will run the index.js file; this file will contain instructions to run the child.js file.

Code for index.js file:

const child_process = require('child_process');

for (let i = 0; i < 2; i++) {
let process = child_process.exec('node child.js ' + i, function
(error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
});

process.on('exit', function (code) {
console.log('Child process exited with code ' + code);
});
}

Code for child.js file:

console.log("Child Process " + process.argv[2] + " execution completed.");

Output:

2. spawn() method:

This method will create a new process with the command that you specify.

Syntax:

child_process.spawn(command[, args][, options])

Parameter:

b. cwd (String) Current working directory of the child process

c. uid (Number) Sets the user identity of the process.

d. gid (Number) Sets the group identity of the process.

Example for spawn() method:

We will be creating two js files, one index file and another child.js file.
We will run the index.js file; this file will contain instructions to run the child.js file.

Code for index.js file:

const child_process = require('child_process');

for (let i = 0; i < 2; i++) {
let process = child_process.spawn('node', ['child.js', i]);

process.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});

process.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});

process.on('close', function (code) {
console.log('child process exited exit code is ' + code);
});
}

Code for child.js file:

console.log("Child Process " + process.argv[2] + " execution completed.");

Output:

3. fork() method:

This method is a special case of spawn for creating a new process for the module that you specify.

Syntax:

child_process.fork(modulepath[, args][, options])

Parameter:

b. cwd (String) Current working directory of the child process

c. uid (Number) Sets the user identity of the process.

d. gid (Number) Sets the group identity of the process.

Example for fork method:

We will be creating two js files, one index file and another child.js file.
We will run the index.js file; this file will contain instructions to run the child.js file.

Code for index.js file:

const child_process = require('child_process');

for (let i = 0; i < 2; i++) {
let process = child_process.fork("child.js", [i]);
process.on('close', function (code) {
console.log('child process terminated with code ' + code);
});
}

Code for child.js file:

console.log("Child Process " + process.argv[2] + " execution completed.");

Output:

Conclusion:

In this article, we have gone through a detailed overview of scaling a nodejs application. We hope you were able to learn.

Exit mobile version