如何在多个服务器上扩展socket.io应用程序?
我已经读了很多关于custering,redis的东西,但我找不到任何真正的样本。
我有一个简单的socket.io应用程序,我需要将这个应用程序扩展到许多服务器。
看起来像socket.io和RedisStore是解决scheme。
有没有人有如何在许多服务器上使用socket.io的真实世界?
你需要npm install
socket.io-redis
包。 然后通过命令redis-server
启动redis-server
。 将以下行添加到您的代码中。
var io = require('socket.io')(3000); var redis = require('socket.io-redis'); io.adapter(redis({ host: 'localhost', port: 6379 }));
然后,您需要修改您的nginxconfiguration文件以启用负载平衡,如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服务器,然后运行节点服务器。 这也应该扩展您的服务器。
- 为什么我需要编写JSON.parse(JSON.stringify(data))?
- express + jade:提供的局部variables在视图中是未定义的(node.js + express + jade)
- 如何将数组传递给ejs模板?
- 在Visual Studio 2013上运行纹波模拟器的问题
- 为什么在node.js v4.0.0中不build议使用util.is *函数?
- 使用Horseman和PhantomJS下载wav文件,丢失数据质量
- Node.js的socket.io服务器callback不起作用
- Nodejs:如何使用相同的响应(文本和图像)返回不同的内容types?
- 如何将MEAN Stack部署到Web主机