2016-03-25 9 views
0

Ich versuche, einen einfachen Lastenausgleich mit HaProxy zu machen. Meine config:HaProxy nicht ballenden Verkehr

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/

und ich habe einen sechs Fälle von Glaskolben, die jeweils auf diffrent Port nach Konfig.

In Flask-Funktion ist nur time.sleep (5) und zurück.

Wenn ich die Haproxy IP im Browser öffne - es funktioniert - habe ich die Roundrobin-Strategie.

Aber wenn ich 3 oder mehr Seiten mit dieser IP öffne ich seltsame Situation. Ich denke, dass haProxy Verkehr zu einer meiner Flask-Instanzen umleiten sollte, aber wenn ich diese IP im Browser zum ersten Mal öffne und auf Antwort (Sleep in Flask) warte und zweite Seite öffne, wird die zweite Seite geladen, wenn die erste geladen wird + 5 Sekunden (Zeit.Schlaf). Und die dritte Seite ist ähnlich - sie wird geladen, wenn die Sekunde + 5 Sekunden geladen wird.

Ich denke, dass dies nicht gültig ist, da haProxy Verkehr von einer Anfrage zu einer Instanz von Flask und zweite Anfrage zur zweiten Instanz umleiten - diese Anfragen sollten voneinander getrennt werden .. Ich sollte Antwort von jeder Anfrage in 5 haben zweite. Nicht in 5, 10, 15, 20 ..

Könnte mir jemand damit helfen?

Mit freundlichen Grüßen, Matt.

+0

Haben Sie sich in [diesem] (http://serverfault.com/questions/580142/haproxy-tcp-roundrobin-loadbalancing-not-working- wie erwartet)? – Hang

+0

@Hang Ich habe die Strategie zu Leastconn geändert, aber es funktioniert immer noch nicht wie erwartet – user3025978

+0

Ich denke, dass die HaProxy auf Antwort von letzter Anfrage wartet .. Aber es ist nicht gut .. – user3025978

Antwort