GCP负载平衡器如何管理websocket连接?

时间:2017-11-01 11:23:09

标签: networking websocket kubernetes google-cloud-platform load-balancing

客户端通过websocket连接连接到API网关服务器。该服务器只是编排了一大堆云功能,它们处理所有请求和转换的数据。服务器是有状态的 - 它包含必要的会话数据,例如,定义允许给定用户请求的云功能。

此服务器不使用套接字来广播数据,因此套接字连接不会相互交互,也不会这样做。因此,它需要处理的只是单客户端到服务器的通信。

如果我会创建一堆副本并将负载均衡器放在所有副本之前(如常规水平缩放),会发生什么?如果用户连接到某个服务器实例,那么他的连接会粘在那里吗?或者它将通过负载均衡器在实例之间切换?

1 个答案:

答案 0 :(得分:1)

有一个可用于负载均衡器的参数,可让您执行所需的操作:Session affinity

"如果设置会话亲缘关系尝试从同一客户端向同一虚拟机实例发送所有网络请求。"

实际上,即使它似乎与负载均衡器相关,您也可以在创建target pools和/或backends时进行设置。您应该检查此解决方案是否可以应用于您的特定配置。