我想使用haProxy做一個簡單的負載平衡。我的配置:HaProxy不平衡流量
global
log /dev/log local0
log 127.0.0.1 local1 notice
maxconn 200000
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
maxconn 200000
timeout connect 5000
timeout client 50000
timeout server 50000
frontend front
bind *:80
mode http
default_backend back
backend back
mode http
balance roundrobin
option httpclose
option forwardfor
server webserver01 127.0.0.1:5001 check
server webserver02 127.0.0.1:5002 check
server webserver03 127.0.0.1:5003 check
server webserver04 127.0.0.1:5004 check
server webserver05 127.0.0.1:5005 check
server webserver06 127.0.0.1:5006 check
listen sts *:1936
mode http
stats enable
stats uri/
而且我有一個瓶子的六個實例,每個不同的端口根據配置。
在Flask函數中只有time.sleep(5)並返回。
當我在瀏覽器中打開haproxy IP時 - 它正在工作 - 我有roundrobin策略工作。
但是,當我用這個IP打開3個或更多頁面時,我收到了奇怪的情況。我認爲haProxy應該將流量重定向到我的Flask實例之一,但是當我在瀏覽器中第一次打開這個IP時,我等待響應(在Flask中休眠)並打開第二頁,第二頁將在第一次加載時加載+ 5秒(time.sleep)。第三頁是相似的 - 它將在第二次加載+ 5秒時加載。
我認爲這是無效的,因爲當haProxy將流量從一個請求重定向到Flask的一個實例並將第二個請求重定向到第二個實例 - 這個請求應該彼此分離..我應該從5第二。不在5,10,15,20 ..
有人可以幫我嗎?
此致敬禮, 馬特。
你有沒有看着[這一個](http://serverfault.com/questions/580142/haproxy-tcp-roundrobin-loadbalancing-not-working-如預期的)? – Hang
@Hang我已經改變策略爲leastconn,但它仍然沒有按預期工作 – user3025978
我認爲haProxy正在等待上次請求的響應..但它不好.. – user3025978