尽管socket.io 文档说“粘性会话”可以使 socket.io 与节点集群一起工作。我就是不能让它工作。
我发现 pm2 有几个针对它的问题,我能找到的最接近的解决方案是“仅强制使用 websock 选项”,根本不使用粘性会话。
有没有人有任何使节点集群与 socket.io 一起工作的经验?
- - - - 更新 - - - -
我检查了这里提到的另外两个粘性会话实现,sticky-session 与 socket.io-sticky-session 节点 js 库!哪个更好?, find 'sticky-cluster' 可以完成这项工作。
我学到的另一个教训是,粘性会话不适用于 pm2 集群,例如从https://github.com/uqee/sticky-cluster/issues/26确认。所以在使用 socket.io 时不要使用 pm2 集群模式(或仅使用 'websocket' 传输)。
socket.io 文档中提到的“粘性会话”实现实际上也有效。如果有人需要更多代码示例的解释,请在此处查看https://github.com/elad/node-cluster-socket.io!
我留下我的问题,因为我仍然想看看是否还有其他意见。