HAProxy 本身是一个高性能的负载均衡器,但它自身也可能成为单点故障,因此“HAProxy 实现高可用”通常指 HAProxy 自身的高可用(避免单点),以及 后端服务的高可用。下面从架构到具体实现逐步说明。
最常见方案:HAProxy + Keepalived
Client
|
VIP (192.168.1.100)
|
+------------------+ +------------------+
| HAProxy Master | <---> | HAProxy Backup |
| (Keepalived MASTER)| | (Keepalived BACKUP)|
+------------------+ +------------------+
| |
Backend Servers (Web / API)
原理
优点
关键点
nopreempt 避免抖动Keepalived 不仅要检测机器,还要检测 HAProxy 是否真的可用:
vrrp_script chk_haproxy {
script "killall -0 haproxy"
interval 2
weight -20
}
否则:
backend web
balance roundrobin
server web1 10.0.0.1:80 check
server web2 10.0.0.2:80 check
server web3 10.0.0.3:80 check backup
check:自动剔除故障节点backup:主节点全挂才启用Region A HAProxy --> Backend A
Region B HAProxy --> Backend B
|
DNS / GSLB
脑裂问题
解决方案
priority✅ 至少 2 台 HAProxy
✅ Keepalived + VRRP
✅ 进程级健康检查
✅ 后端多实例 + 自动剔除
✅ 监控 + 告警
✅ 定期故障演练
如果你愿意,我可以:
你现在的 HAProxy 是跑在哪种环境?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。