如何在多个服务器上扩展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服务器,然后运行节点服务器。 这也应该扩展您的服务器。