我必须设置sails app,我可以在多个端口上建立socket.io连接 - 例如端口3999上的身份验证和端口4999上的数据同步。
任何方式都这样做?
答案 0 :(得分:0)
昨天我问了一个类似的问题,看来你的问题与我的相似,这就是我要实施的内容。
鉴于您将拥有多个可在不同端口上运行的实例,它们将无法直接相互通信并且会破坏websocket功能。
似乎there are multiple solutions to this(粘性会话与使用Redis的pub / sub功能),我选择了Redis。有一个名为socket.io-redis的模块。你还需要emitter module,就在这里。
如果您选择该路由,无论有多少台服务器(多台服务器具有多个实例)或您运行应用程序的单个服务器上的多个实例,由于Redis,它将正常运行。
至少这就是我现在所知道的,已经搜索了几天,还没有尝试过。
更不用说,您可以使用Nginx进行负载平衡,如下所示。 (从socket.io docs复制)
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;
}