Clustering
cluster, MODULE, Node.js, ko, MULTIPLE, CORES, USE, karne, deta hai — DEFAULT, mein, EK, Node.js, PROCESS, SIRF, EK, CORE, USE, karta hai, CHAHE, MACHINE, mein, 8, CORES, HI, KYUN, NA, HON.
EK, "MASTER" PROCESS, MULTIPLE, "WORKER" PROCESSES, SPAWN, karta hai — HAR, WORKER, apna, ALAG, EVENT, LOOP, RAKHTA, hai. INCOMING, CONNECTIONS, AUTOMATICALLY, WORKERS, ke, BEECH, LOAD-BALANCE, hoti, HAIN.
const cluster = require("cluster");
const os = require("os");
if (cluster.isPrimary) {
const numCPUs = os.cpus().length;
for (let i = 0; i < numCPUs; i++) cluster.fork();
cluster.on("exit", (worker) => {
console.log(`Worker ${worker.process.pid} died — restarting`);
cluster.fork(); // crashed worker, RESTART
});
} else {
require("./server.js"); // actual Express app, HAR, worker, mein, RUN, hota, hai
}- cluster module = multiple, CPU, cores, USE, karne, deta hai
- Master process, multiple, worker, processes, SPAWN, karta hai
- PM2, jaisa, process, manager, ISE, EASIER, banaта, hai, production, mein
HAR, cluster, worker, apna, ALAG, MEMORY, SPACE, RAKHTA, hai — EK, WORKER, mein, EK, IN-MEMORY, VARIABLE, UPDATE, karne, se, DUSRE, WORKERS, AFFECT, NAHI, HOTE. SHARED, STATE, ke, liye, REDIS, JAISA, EXTERNAL, STORE, ZAROORI, hai.
WebSocket, CONNECTIONS, ke, liye, "STICKY, SESSIONS" ZAROORI, HOTI, HAIN — EK, CLIENT, ki, SAARI, REQUESTS, SAME, WORKER, PAR, ROUTE, honi, CHAHIYE, WARNA, CONNECTION, STATE, INCONSISTENT, ho, jaayegi.
// sticky-session package se, IP-based, ya, cookie-based, sticky, routing, setup, ki, ja, sakti, hai