【问题标题】:how to scale a socket.io application on multiple servers?如何在多台服务器上扩展 socket.io 应用程序?
【发布时间】:2015-05-20 20:37:04
【问题描述】:

我已经阅读了很多关于 custering、redis 的资料,但我找不到任何真正的示例。

我有一个简单的 socket.io 应用程序,我需要将此应用程序扩展到许多服务器。

看起来 socket.io 和 RedisStore 是解决方案。

有人对他如何在许多服务器上使用 socket.io 有一个真实的世界吗?

【问题讨论】:

    标签: node.js redis socket.io


    【解决方案1】:

    您需要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 服务器,然后运行节点服务器。这也应该扩展您的服务器。

    【讨论】:

    猜你喜欢
    • 2015-08-29
    • 2014-04-20
    • 2012-04-11
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多