Qiu*_*ang 5 node.js socket.io pm2 sticky-session
尽管socket.io文档说“ 粘性会话 ”可以使socket.io与节点群集一起工作。我只是无法使其工作。
我找到了PM2几个问题开了反对的话,最接近的解决方案,我能找到的是这个,“力只使用websock选项”,在所有不使用粘性会话。
有没有人有过使节点群集与socket.io兼容的经验?
-------更新--------
我检查了这里提到的其他两个粘性会话实现,sticky-session与socket.io-sticky-session节点js库!哪个更好?,找到“粘性群集”即可完成工作。
我学到的另一个教训是,粘性会话不适用于pm2集群,例如,从https://github.com/uqee/sticky-cluster/issues/26进行确认。因此,在使用socket.io时,请勿使用pm2集群模式(或仅使用“ websocket”传输)。
socket.io文档中提到的“粘性会话”实现实际上也可以工作。如果有人需要有关代码示例的更多说明,请在此处检查https://github.com/elad/node-cluster-socket.io!
我的问题待解决,因为我仍然想看看是否还有其他输入。
我在 2017 年问过这个问题,当时 socket.io 项目已经闲置了一段时间,但自 2021 年起,socket.io 再次得到积极维护!
其网站现在有 2 篇文章和“官方”答案来解决这个问题:
https://socket.io/docs/v4/pm2/讨论了pm2的3种解决方案,例如仅使用websocket而不带粘性会话或使用@socket.io/pm2带粘性会话。
https://socket.io/docs/v4/using-multiple-nodes/更详细地讨论了粘性会话和一些多节点解决方案,简而言之,如果您想要长轮询回退,您将需要粘性会话。
| 归档时间: |
|
| 查看次数: |
969 次 |
| 最近记录: |