在实现负载平衡器时将同一房间的请求路由到使用 Web 套接字的同一服务器
Posted
技术标签:
【中文标题】在实现负载平衡器时将同一房间的请求路由到使用 Web 套接字的同一服务器【英文标题】:Route requests for the same room to the same server which uses web sockets when implementing a load balancer 【发布时间】:2019-05-15 12:39:02 【问题描述】:我有一个在线白板,用户根据房间名称所在的 URL 的最后一部分连接到同一个房间。 url 是动态的,并且是为每个新房间创建的。
例如:https://.../room/123456
我使用 Web 套接字在客户端和服务器之间进行通信。用户根据房间名称订阅相同的频道。我将实现一个负载平衡器服务器来处理流量。由于我们在该特定房间的服务器上创建了一个会话,因此房间中的每个用户都必须被定向到该特定服务器。我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:我认为使用 uri
balancing method 创建代理可能是您想要的。默认情况下,它将根据您的 URL 路径的哈希分配流量。
backend bk_whiteboard
balance uri
【讨论】:
非常感谢@mweiss。关于如何处理 websockets 的任何想法? @YasithPrabuddhaka HAProxy 有一篇关于如何优化 websocket haproxy.com/blog/websockets-load-balancing-with-haproxy 的配置的好文章。这是你要找的吗?以上是关于在实现负载平衡器时将同一房间的请求路由到使用 Web 套接字的同一服务器的主要内容,如果未能解决你的问题,请参考以下文章