一、理论概述
1、简易概述
HAProxy ,我们拆分这个单词HA, HA(High Availablility),Proxy
代理 。
高可用一直是我们运维的目标,所以值得我们去探索一下这项技术。
主流负载均衡性能比较
Nginx < HAProxy < LVS
其他基础
七层模型,自行查阅相关文档,后期我发表相应的文章
企业中为什么基本都使用HAProxy四层负载均衡
尽管HAProxy也提供了强大的七层负载均衡能力,但在企业中,
特别是在对性能、通用性和稳定性有极高要求的场景下,其四层负载均衡的优势往往更为突出。 它提供了一个高效、可靠且易于管理的解决方案,能够应对各种复杂的网络流量分发需求,确保企业服务的持续可用性和优异的性能表现。
实操步骤
1、下载源码包
源码包
CSDN下载链接[1]
2、编译安装软件
dnf install make gcc -y # 注意:make gcc
make -j 4 TARGET=linux-glibc PREFIX=/usr/local/haproxy
make install
ls /usr/local
find / -name haproxy # 因为 haproxy 有 bug(业界认为)
mkdir -p /usr/local/haproxy/conf
mkdir -p /usr/local/haproxy/logs
cp examples/option-http_proxy.cfg /usr/local/haproxy/conf/haproxy.cfg
3 、Web负载均衡配置
global
log /dev/log local0
chroot /usr/local/haproxy
pidfile /usr/local/haproxy/haproxy.pid
maxconn 20480
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
option http-server-close
option forwardfor
retries 3
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
timeout http-request 10s
timeout queue 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 50000
frontend http_front
bind *:80
default_backend http_back
backend http_back
balance roundrobin
server server1 192.168.88.101:80 check
server server2 192.168.88.103:80 check
4、创建haproxy用户和haproxy用户组
useradd -s /sbin/nologin haproxy
5、启动和终止haproxy
sudo /usr/local/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
pkill haproxy
6、优化-封装成服务
vim /etc/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=network.target
[Service]
ExecStartPre=/usr/local/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg -c -q
ExecStart=/usr/local/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg -p /usr/local/haproxy/haproxy.pid
ExecReload=/usr/local/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg -c -q
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed
Restart=always
Type=forking
[Install]
WantedBy=multi-user.target
解析:
/usr/local/sbin/haproxy
-f:指定配置文件
-c:check,语法检查
-q:静默模式
systemctl restart haproxy
引用链接
[1]
CSDN下载链接: https://download.csdn.net/download/2501_91107759/91659470