0

我们正在尝试找到解决 websocket 负载平衡问题的最佳方法。

Websocket 最初可以连接到任何服务器,该服务器将运行一些逻辑,然后如果需要它会将客户端“重定向”到适当的服务器。

socket.io/engine.io 中有没有办法重定向/转发连接?

就像是:

io.use(function(socket){
    // ... logic
    if(logic === true){
        socket.redirect("172.10.10.2:3000");
    }
});

我知道那socket.redirect不是有效的功能,但有类似的东西吗?

4

1 回答 1

0

socket.io 不支持类似的东西socket.redirect

但是你可以使用 Nginx 做负载均衡的代理,使用socket.io-redis做 socket.io 的适配器并if(logic === true){}在多个节点上处理。

于 2017-06-07T02:21:15.347 回答