提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
HAProxy 安装
源码编译安装方式
tar zxvf haproxy-1.4.8.tar.gz
cd haproxy-1.4.8
make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
如果是CentOS的Liunx服务器,可以直接使用yum来安装
yum install haproxy
HAProxy 配置
安装好HAProxy之后通过修改配置文件来管理代理的指向
vi /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local3 notice
ulimit-n 40960
maxconn 10240
user haproxy
group haproxy
nbproc 4
daemon
quiet
defaults
log global
mode http
option tcplog
listen my_80
bind 0.0.0.0:80
balance roundrobin
mode tcp
option tcpka
server test 192.168.1.2:80
listen my_82
bind 0.0.0.0:82
balance roundrobin
mode tcp
option tcpka
server test 192.168.1.2:80
上面这段配置文件的意思就是将本机的80端口和82端口代理到192.168.1.2服务器的80端口之上,实现通过访问A机器端口而访问B机器端口
HAProxy 注意事项
有些问题一直没有得到解释,在HAProxy代理的连接数超过10000以上的时候,会明显效率低下,而且难以创建连接,所以在一般大型并发请求量尽量使用LVS或者自己的请求分发器,HAProxy只能适用于一些小规模请求量的应用和玩具式应用,他的好处是简单方便效率应对请求量小应用和非长连接的应用无压力。