Haproxy会话转移

时间:2015-03-17 12:55:28

标签: haproxy

我们有一个haproxy负载平衡两个服务器,比如app1和app2。我们为每个设置了权重,例如app1的权重为255,另一个为app2 0.如果任何情况下app1发生故障,如何将会话和连接无缝转移到app。我们可以通过haproxy实现它吗?我们将在下面附上我们的haproxy配置,请指导我们

global
    log         127.0.0.1 local0
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    stats socket /etc/haproxy/haproxysock level admin
    daemon defaults
    mode        http
    log         global
    option      dontlognull
    option      http-server-close
    option      httplog
    option      redispatch
    timeout connect 10000 
    timeout client 300000
    timeout server 300000
    maxconn     60000
    retries     3
    stats uri /haproxy_stats
    stats realm HAProxy\ Statistics
    stats auth hadmin:unMetric_2012

frontend  main *:5000
    acl is_app      path_beg       -i /static /images /javascript /stylesheets /js
    acl is_app      path_end       -i .jpg .gif .png .css .js
    acl is_app      path_end       -i /app/
    use_backend app             if is_app
    default_backend             app backend static
    balance     roundrobin
    server      static 127.0.0.1:4331 check backend app    option httpchk GET /app
    balance    roundrobin
     reqrep ^([^\ :]*)/app((/?.*)*)    \1/app\2
      cookie uid preserve indirect
     stick-table type string len 40 size 5M expire 60m
    stick store-response set-cookie(sid) table app    stick on cookie(sid) table app
    stick on url_param(sid) table app    server  app1   demo1.unmetric.com:8080 cookie s1 weight 255 check
    server  app2  demo2.unmetric.com:8080 cookie s2 weight 0 check

1 个答案:

答案 0 :(得分:0)

haproxy无法处理您的后端应用会话复制 它使用cookie或请求参数进行粘性,但您的后端应用程序应自行处理其会话复制。