node.js 用负载均衡后无法进行 websocket 通信

2018-12-04 21:34:11 +08:00
 fengpan567
测试环境没有用集群,一切都正常。但是生产环境用了负载均衡,node.js 作为 websocket 服务端,前端通过 socket.io 去连接,总是出现握手成功,数据却不推送的情况。有没有老哥碰到过这种问题,谢谢啦
1416 次点击
所在节点    问与答
4 条回复
zythum
2018-12-04 21:38:05 +08:00
用个 redis 去做数据同步。https://github.com/socketio/socket.io-redis
momocraft
2018-12-04 21:41:49 +08:00
负载均衡真的 支持 ws 吗?
polythene
2018-12-04 21:47:22 +08:00
因为跟 server A 建立的 websocket 链接,后面又被负载均衡 route 到 server B 上去了,可以试试 session sticky 之类的方案,或者 @zythum 的 redis 共享链接也是可以的。
fengpan567
2018-12-04 22:08:00 +08:00
@zythum
@polythene
用的是 ip_hash 的均衡策略,所以不会存在 session 共享的问题吧

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

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

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

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

© 2021 V2EX