Olá,
Realizei a implementação de clusters sugerida na aula em um projeto onde já possuo um serviço via WebSocket (Socket.io). Ao subir em clusters, as comunicações se perdem, devido as múltiplas instâncias.
Qual a melhor forma de contornar essa situação?
Meu arquivo cluster.js está igual ao do curso, porém meu server.js está assim:
var http = require('http');
var app = require('./config/express');
var server = http.createServer(app);
require('./config/database')('mongodb://localhost/xxx');
require('./config/io')(server);
server.listen(3000, function () {
console.log('Server started and listening on port 3000');
});
Abaixo o arquivo ./config/io.js
module.exports = function (server) {
let io = require('socket.io').listen(server);
io.origins('*:*');
io.on('connection', (socket) => {
console.log('user connected');
socket.on('disconnect', function () {
console.log('user disconnected');
});
socket.on('add-message', (message) => {
io.emit('message', { type: 'new-message', text: message });
});
});
};