fengpan567
V2EX  ›  问与答

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

  •  
  •   fengpan567 · Dec 4, 2018 · 1874 views
    This topic created in 2761 days ago, the information mentioned may be changed or developed.
    测试环境没有用集群,一切都正常。但是生产环境用了负载均衡,node.js 作为 websocket 服务端,前端通过 socket.io 去连接,总是出现握手成功,数据却不推送的情况。有没有老哥碰到过这种问题,谢谢啦
    4 replies    2018-12-04 22:08:00 +08:00
    zythum
        1
    zythum  
       Dec 4, 2018
    用个 redis 去做数据同步。https://github.com/socketio/socket.io-redis
    momocraft
        2
    momocraft  
       Dec 4, 2018
    负载均衡真的 支持 ws 吗?
    polythene
        3
    polythene  
       Dec 4, 2018
    因为跟 server A 建立的 websocket 链接,后面又被负载均衡 route 到 server B 上去了,可以试试 session sticky 之类的方案,或者 @zythum 的 redis 共享链接也是可以的。
    fengpan567
        4
    fengpan567  
    OP
       Dec 4, 2018
    @zythum
    @polythene
    用的是 ip_hash 的均衡策略,所以不会存在 session 共享的问题吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3028 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 06:04 · PVG 14:04 · LAX 23:04 · JFK 02:04
    ♥ Do have faith in what you're doing.