我将负责在不同的盒子上对两个node.js / Socket.io实例进行负载平衡,nginx运行一个简单的通知服务,并为新客户端提供追溯事件。
我不认为websocket连接types(这将是连接的主要方法)会有任何问题,因为维护的连接会否定会话的需要(除了重新连接,我不会太担心) 。
然而,轮询后备方法会有问题,因为它们依赖于客户端会话,并且在标准的roundrobin负载平衡(在这种情况下)下一轮民意调查将成为新客户的可能性为50%。
不是在两个盒子之间同步会话,而是让负载均衡器使用ip_hash指令或nginx-sticky-module来做一些半智能的路由。
ip_hash好像可以做这个工作,但是我可以看到它在移动客户端有潜在的问题,他们在3G上交换IP地址,或者在移动networking和WiFi之间改变IP地址,从而改变IP地址。
我有几个与此相关的问题。 如果你可以回答那个很棒的话