HAProxy 负载均衡配置与运维
haproxy 是高性能 L4/L7 负载均衡器,配置由 global、defaults、frontend、backend、listen 组成。它支持健康检查、ACL、会话保持和运行时管理。
haproxy -c -f /etc/haproxy/haproxy.cfg
haproxy -f /etc/haproxy/haproxy.cfg -D -p /run/haproxy.pid
haproxy -f /etc/haproxy/haproxy.cfg -sf $(cat /run/haproxy.pid)
配置示例:
frontend http_in
bind *:80
acl is_api path_beg /api
use_backend api_servers if is_api
default_backend web_servers
backend web_servers
balance roundrobin
option httpchk GET /healthz
server web1 10.0.0.11:8080 check
server web2 10.0.0.12:8080 check
backend api_servers
balance leastconn
server api1 10.0.0.21:8080 check
echo 'show stat' | socat stdio /var/run/haproxy.sock
echo 'set server web_servers/web1 weight 50' | socat stdio /var/run/haproxy.sock
echo 'disable server web_servers/web1' | socat stdio /var/run/haproxy.sock
frontend/backend/listen 的职责要分清;ACL 顺序影响路由。stats socket 要限制权限;它能动态摘除后端。-sf 传旧 PID;容器里注意 PID 1 和信号处理。nginx — 另一种反向代理keepalived — VIP 高可用curl — 验证后端合上页面,先回答,再展开对照。
connect、client、server 超时参数是否匹配。