Haproxy
Haproxy应用分析
LVS
在企业应用中抗负载能力很强,但存在不足
LVS不支持正则处理,不能实现动静分离
对于大型网站,LVS的实施配置复杂,维护成本相对较高
Haproxy
是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理的软件
适用于负载大的Web站点
运行在硬件上可支持数以万计的并发连接的连接请求
Haproxy调度算法原理
Haproxy支持多种调度算法,最常用的有三种
RR(Round Robin)
RR算法是最简单最常用的一种算法,即轮询调度
LC(Least Connections)
最小连接数算法,根据后端的节点连接数大小动态分配前端请求
SH(Source Hashing)
基于来源访问调度算法,用于一些有Session会话记录在服务器端的场景,可以基于来源的IP、Cookie等做集群调度
编译安装 Haproxy
yum install -y pcre-devel bzip2-devel gcc gcc-c++ make
tar zxvf haproxy-1.5.19.tar.gz
cd haproxy-1.5.19/
make TARGET=linux2628 ARCH=x86_64
make install
Haproxy服务器配置
mkdir /etc/haproxy
cp examples/haproxy.cfg /etc/haproxy/
cd /etc/haproxy/
vim haproxy.cfg
global
log /dev/log local0 info #修改4~5行,配置日志记录,local0为日志设备,默认存放到系统日志
log /dev/log local0 notice
#log loghost local0 info
maxconn 4096 #最大连接数,需考虑ulimit-n限制