HAProxy 使用 URL 参数选择服务器

HAProxy 使用 URL 参数选择服务器

我们有一个在 websocket 连接上运行的移动游戏客户端,我们想使用 HAProxy 作为负载均衡器。主要有两个条件:

  1. 根据 url 参数 ID(32 到 64 个字符之间的可变字符串)设置粘性会话,然后根据最少连接选择服务器
  2. 如果没有 ID 参数,请选择第一个或默认服务器

以下是处理第一个情况的示例配置:

backend app
balance     leastconn
stick-table type string len 64 size 5M expire 30m
stick store-request url_param(ID) table app
stick on url_param(ID) table app
server  app1 127.0.0.1:5001 check
server  app2 127.0.0.1:5002 check

问题是粘性会话无法按预期工作,无法连接到上次连接的服务器。您能提供一些改进建议,理想情况下可以满足第二个条件吗?

我们正在使用 CentOS SCL 提供的 HAProxy 版本 1.8.17。

提前致谢。

相关内容