Open dotsinspace opened 6 months ago
I have tried with node cluster module. but every request is served by single child process.
System is completely working, but when there is bulk data, some requests are being lost.
Trying to build load balancer for smpp.
Anyone have idea on how to build this?
One reference I found is SMPP Load Balancer, obv it's paid.
Btw, I have used basic cluster code like below:
const cluster = require('cluster');
const os = require('os');
if (cluster.isMaster) {
const numCPUs = os.cpus().length;
// Fork workers.
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`Worker ${worker.process.pid} died`);
cluster.fork(); // Restart the worker
});
} else {
// Workers can share any TCP connection
// In this case it is an SMPP server
require('./smpp-server');
}
I am looking for the same...and same issue is happening to my smpp server...some of the PDUs are just getting lost.
Now coming to your setup you can use pm2 itself instead of this. and it is more reliable in this case...but still some of the smpp out there will not going to work...and that might be due to SMPP Session and Multiprocessing implementation.
Does any one have clustering example of smpp or how can i use node-smpp with bullmq processor.