用redis水平缩放socket.io

Ste*_*e P 5 scaling redis node.js socket.io socket.io-redis

我目前正在创建一个水平可伸缩的socket.io服务器,如下所示:

                 LoadBalancer (nginx)

      Proxy1      Proxy2      Proxy3      Proxy{N}

 BackEnd1   BackEnd2   BackEnd3   BackEnd4   BackEnd{N}
Run Code Online (Sandbox Code Playgroud)

我的问题是,使用socket-io redis模块,如果它们都连接到同一个redis服务器,我可以将消息发送到连接到其中一个后端服务器的代理服务器之一的特定套接字吗?如果是这样,我该怎么做?

Hir*_* S. 3

当你想要扩展socket.io服务器,并且你已经使用nginx作为负载均衡器时,不要忘记设置sticky load balancing,否则单个连接将基于负载均衡器连接到多个服务器,并将连接传递给socket.io服务器。所以更好用sticky load balancing

使用 redis 套接字 io 适配器,您可以在Redis Pub/Sub implementation.

如果您告诉我代理和后端使用哪种技术,我会让您了解更多相关信息。