我们有一个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
答案 0 :(得分:0)
haproxy无法处理您的后端应用会话复制 它使用cookie或请求参数进行粘性,但您的后端应用程序应自行处理其会话复制。