1

我不确定如何描述这一点,但我正在运行一个节点应用程序,该应用程序在 4 核、端口 80 上运行一个集群,使用 RedisStore 作为 socket.io 存储、express.js 和 socket.io 监听它。

发生的一些有趣的行为是,在大约 40% 使用 Chrome(和 Firefox,但我们不再使用不同的浏览器,因为它似乎是全面的)连接到 socket.io 的客户端上,它首先连接并运行良好25-30 秒,然后有 60 秒的死区时间,从客户端发送请求但服务器没有接收或确认,并且在 1.5 分钟 - 1.6 分钟,客户端启动新的 websocket 连接。有时,新的 websocket 连接具有相同的行为,有时连接“捕获”并在接下来的几个小时内持续存在并且绝对没问题。

有趣的是,这种行为不会发生在我们运行在不同端口(也使用集群)上的测试服务器上;而且它不会发生在我们的任何本地开发服务器上(其中一些实现了集群,而另一些则没有)。

有任何想法吗?

4

0 回答 0