如何配置haproxy以为每个请求使用不同的后端

时间:2017-01-05 23:05:15

标签: haproxy

我有一个Haproxy 1.5.4。我想配置haproxy为每个请求使用不同的后端。这样,我想确保每个请求都使用不同的后端。我主动使用以下配置:

global
        daemon
    maxconn 500000
    nbproc 2
        log             127.0.0.1   local0 info
defaults
        mode tcp
        timeout connect 50000ms
        timeout client 500000ms
        timeout server 500000ms
        timeout check 5s
        timeout tunnel 50000ms
        option redispatch

listen httptat *:3310
        mode http
        stats enable
        stats refresh 5s
        stats uri /httpstat
        stats realm HTTPS proxy stats
        stats auth https:xxxxxxxxxxx



listen HTTPS *:5008
        mode tcp
        #maxconn 50000

        balance leastconn
server backend1 xxx.xxx.xxx.xxx:125 check
server backend1 xxx.xxx.xxx.xxx:126 check
server backend1 xxx.xxx.xxx.xxx:127 check
server backend1 xxx.xxx.xxx.xxx:128 check
server backend1 xxx.xxx.xxx.xxx:129 check
server backend1 xxx.xxx.xxx.xxx:130 check

......

1 个答案:

答案 0 :(得分:2)

只需将余额设置从leastconn更改为roundrobin

来自haproxy手册1.5:

roundrobin
每个服务器根据其权重轮流使用。               这是服务器时最流畅,最公平的算法               处理时间保持平均分配。这个算法               是动态的,这意味着可以调整服务器权重               例如,在慢速启动时。受到限制               设计为每个后端4095个活动服务器。请注意,在一些               大型农场,当服务器在关闭后升级               在很短的时间内,它有时可能需要几百个               要求将其重新集成到农场并开始               接收流量。这很正常,但非常罕见。它是               如果您有机会观察,请在此处注明               它,所以你不用担心。

https://cbonte.github.io/haproxy-dconv/1.5/configuration.html#4-balance