【问题标题】:Socket.io with Amazon Load Balancer, what ports should be forwarded?带有 Amazon Load Balancer 的 Socket.io,应该转发哪些端口?
【发布时间】:2012-09-25 18:26:53
【问题描述】:

我有一些 socket.io node.js 服务器作为亚马逊实例运行,当直接连接到一个实例时,我的 socket.io 应用程序可以在几毫秒内连接和重新连接。但是,当我通过负载均衡器引导应用程序时,应用程序的连接和重新连接速度要慢得多(需要 5 多秒)。

我已将负载平衡器配置为转发 TCP 端口 80,以及我的节点服务器侦听的端口(端口 3000)。 socket.io 是否需要任何其他端口才能以最佳方式运行?还是我的问题不是由端口引起的?

谢谢。

【问题讨论】:

  • 您介意分享一下您是如何进行负载平衡的。您的 nodejs 实例前面有一个负载均衡器。 socketio 在另一个实例上,并通过负载均衡器访问 nodejs?在这种情况下,yo.u 是否也对 socket.io 进行了负载均衡?
  • 不完全是,目前我的应用程序加载在单独的 PHP 服务器上并且没有负载平衡。 socket.io 服务器位于负载均衡器后面。我只需要将消息推送到客户端而不是来自,因此客户端将被定向到可用服务器,当我推送消息时,它们将被推送到所有实例/服务器。希望能解释一下?

标签: node.js amazon-web-services socket.io load-balancing ports


【解决方案1】:

我意识到这与端口或类似的东西无关。亚马逊负载均衡器保持第一次重新连接尝试打开直到超时,这意味着第一次连接在超时或重新连接之前等待 60 秒。我无法减少 ELB 的超时,这是 AWS 论坛上的一个已知问题,并且已经存在了几年

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 2016-02-05
    • 1970-01-01
    • 2013-05-22
    • 2021-02-07
    • 2014-04-21
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    相关资源
    最近更新 更多