首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

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

  •  
  •   fengpan567 · 2018-12-04 21:34:11 +08:00 · 562 次点击
    这是一个创建于 371 天前的主题,其中的信息可能已经有所发展或是发生改变。
    测试环境没有用集群,一切都正常。但是生产环境用了负载均衡,node.js 作为 websocket 服务端,前端通过 socket.io 去连接,总是出现握手成功,数据却不推送的情况。有没有老哥碰到过这种问题,谢谢啦
    4 回复  |  直到 2018-12-04 22:08:00 +08:00
        1
    zythum   2018-12-04 21:38:05 +08:00
    用个 redis 去做数据同步。https://github.com/socketio/socket.io-redis
        2
    momocraft   2018-12-04 21:41:49 +08:00
    负载均衡真的 支持 ws 吗?
        3
    polythene   2018-12-04 21:47:22 +08:00
    因为跟 server A 建立的 websocket 链接,后面又被负载均衡 route 到 server B 上去了,可以试试 session sticky 之类的方案,或者 @zythum 的 redis 共享链接也是可以的。
        4
    fengpan567   2018-12-04 22:08:00 +08:00
    @zythum
    @polythene
    用的是 ip_hash 的均衡策略,所以不会存在 session 共享的问题吧
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2166 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 37ms · UTC 15:50 · PVG 23:50 · LAX 07:50 · JFK 10:50
    ♥ Do have faith in what you're doing.