Haproxy - Web负载均衡及高可用解决方案

本文介绍了Haproxy的负载调度算法,包括轮询、最小连接数和来源访问。详细阐述了Haproxy实现Web负载均衡的解决方案,通过部署Nginx和Haproxy服务器,配置并测试Web集群以确保高可用性。同时,文章讨论了Haproxy的日志管理和参数优化,包括修改配置文件以实现日志分离和优化日志处理效率。
摘要由CSDN通过智能技术生成

Haproxy是一款支持虚拟主机提供高可用性、负载均衡以及基于TCP和HTTP应用的代理


一、常用的负载调度算法

1. 轮询[RR]

后端节点有序的轮流分配到任务

2. 最小连接数[LC]

当第一个节点被分配的任务量大于第二节点时任务将被分配到第二个节点上,以此类推

3. 来源访问[SH]

会记录下客户访问的节点,之后当客户再次访问时,就访问那个节点[可以基于IP、Cookie等]

二、Web负载均衡解决方案

1. 拓扑图

一台作为Haproxy以及两台Nginx模拟Web集群

主机 操作系统 IP 地址 主要软件
Nginx 服务器 1 CentOS 7 192.168.0.10 nginx
Nginx 服务器 2 CentOS 7 192.168.0.20 nginx
Haproxy 服务器 CentOS 7 192.168.0.50 haproxy

2. 部署Nginx服务器

yum -y install pcre pcre-devel zlib zlib-devel gcc gcc-c++ make

useradd -M -s /sbin/nologin nginx

wget -P /opt http://nginx.org/download/nginx-1.20.0.tar.gz

cd /opt
tar -zxvf nginx-1.20.0.tar.gz 

cd /opt/nginx-1.20.0

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx 

make -j && make install

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx
ln -s /usr/local/nginx/conf/nginx.conf /etc/nginx.conf

echo '
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target' > /lib/systemd/system/nginx.s
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值