Le module “cluster” fait partie de Node.js, un environnement d’exécution JavaScript côté serveur. Le module “cluster” vous permet de créer des programmes qui tirent pleinement parti des systèmes multi-processeurs.
Lorsqu’une application commence à traiter un grand volume de travail, un seul thread d’exécution peut ne pas être en mesure d’effectuer toutes les tâches en temps opportun. Le module “cluster” résout ce problème en permettant à une application Node.js de créer un ensemble de processus-servants qui partagent le même port réseau.
Cela permet à l’application de créer un processus-servant pour chaque cœur du processeur, ce qui lui permet de traiter plusieurs fois plus de requêtes en même temps.
Voici un exemple de base de l’utilisation du module “cluster” dans Node.js:
```
const cluster = require(‘cluster’);
const http = require(‘http’);
const numCPUs = require(‘os’).cpus().length;
if (cluster.isMaster) { console.log(`Master ${process.pid} is running`);
// Fork workers for (let i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on(‘exit’, (worker, code, signal) => { console.log(`Worker ${worker.process.pid} died`); }); } else { // Workers can share any TCP connection // In this case, it is an HTTP server http.createServer((req, res) => { res.writeHead(200); res.end(‘Hello, world!’); }).listen(8000); console.log(`Worker ${process.pid} started`); } ```Dans l’exemple ci-dessus, le processus principal commence par déterminer le nombre de cœurs du processeur. Il crée ensuite un processus-servant pour chaque cœur. Chaque processus-servant est capable de gérer les requêtes HTTP en parallèle. Ainsi, si votre système dispose de quatre cœurs, votre application pourra traiter quatre fois plus de demandes à la fois.