【发布时间】:2014-11-25 20:03:21
【问题描述】:
为了扩展我们的实时应用程序,我们需要水平添加 Web 套接字服务器。
每个用户都通过一个包含 groupId 变量的 url 进行连接:http://ws.example.com/{groupId}。 该 groupId 是动态的,无法预测。
因此,许多用户共享同一个 groupId。为了通过 websocket 服务器在它们之间进行通信,共享相同 groupId 的每个用户必须在同一个 websocket 服务器中。
我们想要实现一个负载平衡系统来平衡我们的 websocket 服务器。
-如果一个客户端(userA)连接,并且serverA上存在另一个具有相同groupId的连接(userB),那么我们要连接serverA上的userA。
-如果不存在与该 groupId 的现有连接,那么我们通过经典的负载平衡算法允许 websocket 服务器。
我们怎样才能做到这一点?我们的服务器目前在 nginx 上运行。
【问题讨论】:
标签: node.js nginx websocket load-balancing phpwebsocket