【发布时间】:2015-05-20 20:37:04
【问题描述】:
我已经阅读了很多关于 custering、redis 的资料,但我找不到任何真正的示例。
我有一个简单的 socket.io 应用程序,我需要将此应用程序扩展到许多服务器。
看起来 socket.io 和 RedisStore 是解决方案。
有人对他如何在许多服务器上使用 socket.io 有一个真实的世界吗?
【问题讨论】:
我已经阅读了很多关于 custering、redis 的资料,但我找不到任何真正的示例。
我有一个简单的 socket.io 应用程序,我需要将此应用程序扩展到许多服务器。
看起来 socket.io 和 RedisStore 是解决方案。
有人对他如何在许多服务器上使用 socket.io 有一个真实的世界吗?
【问题讨论】:
您需要npm install 包裹socket.io-redis。然后通过命令redis-server 启动服务器。
将以下行添加到您的代码中。
var io = require('socket.io')(3000);
var redis = require('socket.io-redis');
io.adapter(redis({ host: 'localhost', port: 6379 }));
然后你需要修改你的 nginx 配置文件以启用负载平衡,如http://socket.io/docs/using-multiple-nodes/#nginx-configuration
upstream io_nodes {
ip_hash;
server 127.0.0.1:6001;
server 127.0.0.1:6002;
server 127.0.0.1:6003;
server 127.0.0.1:6004;
}
重启你的 nginx 服务器,然后运行节点服务器。这也应该扩展您的服务器。
【讨论】: