问个 websocket 的问题!

2019-06-26 20:53:42 +08:00
 sologgfun

整了一个 node 的 websocket 服务端,但是启用多线程之后,连接池里的连接在线程之间不是共享的,导致没法正常广播啊,这个有什么比较好的解决办法吗(除了杀线程)?

4337 次点击
所在节点    Node.js
2 条回复
lps
2019-06-27 10:43:06 +08:00
多线程?多进程吧
如果服务端使用的是 socket.io ,可以使用 socket.io-redis 插件;
其他的可以参考 redis pub/sub 的做法;
pastgift
2019-07-03 08:35:04 +08:00
@lps 正解
都用 Node 了,websocket 肯定用 socket.io ,官方文档有明确介绍分布式部署时如何处理

详细可以参考:socket.io/docs/using-multiple-nodes 「 Using Node.JS Cluster 」章节

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/577794

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX