相关疑难解决方法(0)

使用集群将Socket.IO扩展到多个Node.js进程

用这个撕掉我的头发......有没有人设法将Socket.IO扩展到由Node.js的集群模块产生的多个"工人"进程?

假设我有四个工作进程(伪):

// on the server
var express = require('express');
var server = express();
var socket = require('socket.io');
var io = socket.listen(server);

// socket.io
io.set('store', new socket.RedisStore);

// set-up connections...
io.sockets.on('connection', function(socket) {

  socket.on('join', function(rooms) {
    rooms.forEach(function(room) {
      socket.join(room);
    });
  });

  socket.on('leave', function(rooms) {
    rooms.forEach(function(room) {
      socket.leave(room);
    });
  });

});

// Emit a message every second
function send() {
  io.sockets.in('room').emit('data', 'howdy');
}

setInterval(send, 1000);
Run Code Online (Sandbox Code Playgroud)

在浏览器上......

// on the client
socket = io.connect(); …
Run Code Online (Sandbox Code Playgroud)

javascript redis node.js socket.io node-redis

60
推荐指数
1
解决办法
4万
查看次数

多个处理器上的NodeJS(PM2,Cluster,Recluster,Naught)

我正在研究在多核环境中运行节点的选项.

我正在尝试确定最好的方法,到目前为止我已经看到了这些选项

  • 使用内置的群集库来启动工作并响应信号
  • 使用PM但是,PM2 -i被列为beta.
  • 再群集

还有其他选择吗?人们在生产中使用了什么?

node.js pm2

7
推荐指数
1
解决办法
3170
查看次数

标签 统计

node.js ×2

javascript ×1

node-redis ×1

pm2 ×1

redis ×1

socket.io ×1