【问题标题】:Socket.io with AWS elastic load balancer带有 AWS 弹性负载均衡器的 Socket.io
【发布时间】:2014-07-18 10:47:50
【问题描述】:

我还没有真正找到一个很好的 Websocket 解决方案,socket.io 使用在 node.js 上运行的 Elastic Beanstalk 与 Elastic Load Balancer 连接。任何人都对如何使用 socket.io 实现扩展 node.js 有很好的设置

这里有一些问题: 如果我们使用负载均衡器和 tcp 监听器,socket.io 如何与 https 建立连接?

非常感谢任何尝试过此实施设置以提供一些见解的人 :) 干杯

【问题讨论】:

    标签: amazon-web-services websocket socket.io load-balancing amazon-elastic-beanstalk


    【解决方案1】:

    是的,您可以对 TCP 连接进行负载平衡,可能就足够了。请记住,ELB 有 60 秒的空闲超时,并且使用您的协议比这更频繁地发送心跳。

    如果您不了解或控制 websocket 协议,您可以考虑在 EC2(nginx、hipache 等)上运行负载均衡器。

    【讨论】:

    • socket.io 连接怎么样?初始连接是通过 http/https,然后升级到 websocket 的 tcp 连接。但是负载均衡器的监听器不能同时监听 http 和 tcp 的同一个端口。 socket.io 连接是如何建立的?
    • 它是同一个端口,只是不再是 HTTP,而是您的应用程序决定使用的任何协议。
    • @JulioFaerman,如何配置 ELB 以确保后续握手传递到 AWS 上的正确实例
    • @Yousef 如果协议是 HTTP,你可以使用 Session Stickiness 和 cookie,但是 TCP 没有这样的东西。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2017-09-30
      • 1970-01-01
      • 2014-05-15
      • 2013-07-19
      • 2021-05-27
      • 2018-05-02
      • 2014-01-24
      • 1970-01-01
      • 2013-03-22
      相关资源
      最近更新 更多