客户端不握手客户端应重新连接,在集群中的socket.io
我的node.js应用程序与express,redis,mongo和socket.io工作正常。 今天当我介绍群集,我发现它的工作原理,但应用程序有很多消息,
'client not handshaken' 'client should reconnect'
来自socket.io的响应时间很多次,非常糟糕,几秒钟。
然后,我使用http-proxy前端结束来自浏览器的请求。 Chrome浏览器间歇性地工作,不会抛出这样的消息。 有时候,如果我再次打开相同的URL,它会开始抛出这些消息,响应被延迟。 Firefox的行为也是一样的。 随机地,它开始抛出这些消息不断..看起来像websocket在集群环境中的一些问题。
我的node.js版本是0.6.10,socket.io 0.9.0,express 2.5.9,http-proxy 0.8.0
这很可能是因为Socket.IO将连接保存在内存中,所以每个服务器都有自己的一组客户端。 要在多个服务器实例上共享Socket.IO,请查看使用其RedisStore
。 Express会话也是如此,您可以selectconnect-redis
作为选项。