如何通过谷歌负载平衡使用socket.io

JLC*_*Dev 6 javascript node.js socket.io google-cloud-platform

尝试连接socket.ionode.js compute engine实例时,我们遇到了一些问题google load balancing.

如果我从我的浏览器直接连接到外部IP我的node.js一切工作正常.

如果我尝试node.js通过load balancing(这将是生产架构)连接到同一个,则socket始终保持断开连接.

我们尝试使用sessionAffinity配置Load Balancing但没有成功.

有小费吗?谢谢

Kal*_*mel 2

默认情况下,http 负载平衡的超时设置默认为 30 秒(来源),这适用于 Web 套接字,当后端支持协议时,socket.io 会使用该套接字。因此,您需要执行以下操作来增加超时(来源)。

要配置超时设置:

  • 进入负载均衡页面
  • 选择负载均衡器的编辑铅笔。
  • 选择后端配置。
  • 选择后端服务的编辑铅笔。
  • 在协议、端口和超时设置行中,选择编辑铅笔。
  • 输入新的超时设置(以秒为单位)。
  • 单击负载均衡器的更新按钮。