小编rcr*_*crc的帖子

如何在haproxy中使用数千个后端?新地图功能对此有用吗?

我想使用haproxy作为代理和数千个后端的负载均衡器.因此,需要根据主机名将请求代理到正确的后端,然后在后端内进行负载平衡.我正在使用haproxy-1.5dev21.

配置文件如下所示:

frontend public
  bind :80
  mode http
  acl host1 hdr_reg(host) host1.com
  use_backend be_host1 if host1

  acl host4000 hdr_reg(host) host4000.com
  use_backend be_host4000 if host4000

backend be_host[n]
  server hostn_1
  server hostn_2
Run Code Online (Sandbox Code Playgroud)

问题是,如果有5000个主机,每个请求会增加30毫秒的延迟.对于20k后端,haproxy需要很长时间才能加载,更不用说每个请求的延迟灾难了.

我可以做一些比顺序acl规则更好的事情吗?我还没有找到新地图功能的示例 - 发行说明说它可以用于大量重定向规则.我试过这个:

use_backend %[hdr(host), map(host_to_backend_map.file)]
Run Code Online (Sandbox Code Playgroud)

使用地图时显然有些愚蠢,但任何指导都会有所帮助.谢谢!

reverse-proxy load-balancing haproxy

9
推荐指数
1
解决办法
7329
查看次数

标签 统计

haproxy ×1

load-balancing ×1

reverse-proxy ×1