Linux系统实现负载均衡的实用方案
一、方案总览与适用场景
二、快速上手示例
sudo apt-get update && sudo apt-get install nginx(或 yum install -y nginx)。http {
upstream backend {
server 192.168.1.10:80 weight=3;
server 192.168.1.11:80;
server 192.168.1.12:80 max_fails=3 fail_timeout=30s;
least_conn; # 最少连接
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
sudo nginx -t && sudo systemctl reload nginx。sudo apt-get install haproxy(或 yum install -y haproxy)。frontend http-in
bind *:80
default_backend web-backend
backend web-backend
balance roundrobin
option httpchk GET /health
server web1 192.168.1.10:80 check
server web2 192.168.1.11:80 check
server web3 192.168.1.12:80 check
sudo systemctl enable --now haproxy。sudo apt-get install ipvsadm keepalived(或 yum install -y ipvsadm keepalived)。sudo ipvsadm -A -t 192.168.100.10:80 -s rr;sudo ipvsadm -a -t 192.168.100.10:80 -r 192.168.1.10:80 -g;sudo ipvsadm -a -t 192.168.100.10:80 -r 192.168.1.11:80 -g(-g 为 DR)。三、关键算法与高可用设计
option httpchk、Nginx 的 max_fails/fail_timeout、LVS 结合外部健康检查脚本,及时摘除异常节点。stick-table 或 source 算法;对无状态服务优先用 无状态会话 + 集中式存储(如 Redis)。四、选型建议与注意事项
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。