mirror of
https://github.com/socketio/socket.io.git
synced 2026-04-30 03:00:39 -04:00
29 lines
634 B
JavaScript
29 lines
634 B
JavaScript
import cluster from "cluster";
|
|
import { createServer } from "http";
|
|
import { setupMaster } from "@socket.io/sticky";
|
|
import { cpus } from "os";
|
|
|
|
if (cluster.isMaster) {
|
|
console.log(`Master ${process.pid} is running`);
|
|
const httpServer = createServer();
|
|
|
|
setupMaster(httpServer, {
|
|
loadBalancingMethod: "least-connection",
|
|
});
|
|
|
|
httpServer.listen(3000);
|
|
|
|
for (let i = 0; i < cpus().length; i++) {
|
|
cluster.fork();
|
|
}
|
|
|
|
cluster.on("exit", (worker) => {
|
|
console.log(`Worker ${worker.process.pid} died`);
|
|
cluster.fork();
|
|
});
|
|
} else {
|
|
console.log(`Worker ${process.pid} started`);
|
|
|
|
import("./index.js");
|
|
}
|