HaProxy介绍:
haproxy是法国开发者威利塔罗在2000年使用C语言开发的一个开源软件,是一款具备高并发(一万以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计,目前最新TLS版本为2.2。
haproxy是可提供可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。haproxy非常适用于并发大(并发达1W以上)web站点,这些站点通常又需要会话保持或七层处理,haproxy的运行模式使得它可以很简单安全的整合至当前的架构中,同时可以保护web服务器不被暴露到网络上。
LVS,nginx,haproxy对比:
LVS是内核中的功能,nginx和haproxy是第三方实现的功能。
LVS只能提供四层负载均衡无法提供七层负载,(无法控制7层协议http头部url等),功能单一。
nginx,haproxy可以实现4层和7层负载,功能较多,但是性能不如LVS,LVS>haproxy>nginx
haproxy对比nginx性能优越,功能单一,haproxy只做反向代理。
LVS没有后端服务器健康性检测,nginx和haproxy有后端服务器健康性检测。
安装haproxy:
三种方式:yum,rpm和编译
yum安装:yum install -y haproxy
[root@Node1 ~]#:yum install -y haproxy #安装
[root@Node1 ~]#:systemctl start haproxy #启动
[root@Node1 ~]#:systtemctl status haproxy #查看是否启动
可以rpm -qc haproxy查看配置文件
rpm安装:
错误:软件包:rh-haproxy18-haproxy-1.8.24-3.el7.x86_64 (/rh-haproxy18-haproxy-1.8.24-3.el7.x86_64)
rpm安装haproxy需要需要:rh-haproxy18-runtime
需要依赖包
[root@Node1 ~]#:mkdir /hprxy; cd /hprxy
#准备一个runtime包,直接拖进来到目录下,然后下载haproxy包
[root@Node1 hprxy]#:wget http://mirror.centos.org/centos/7/sclo/x86_64/rh/Packages/r/rh-haproxy18-haproxy-1.8.24-3.el7.x86_64.rpm
[root@Node1 hprxy]#:ls
rh-haproxy18-haproxy-1.8.24-3.el7.x86_64.rpm rh-haproxy18-runtime-3.1-2.el7.x86_64.rpm[root@Node1 hprxy]#:yum install -y rh-haproxy18-runtime-3.1-2.el7.x86_64.rpm
[root@Node1 hprxy]#:yum install -y rh-haproxy18-haproxy-1.8.24-3.el7.x86_64.rpm#启动服务
[root@Node1 hprxy]#:systemctl start rh-haproxy18-haproxy.service查看状态:systemctl status rh-haproxy18-haproxy.service发现启动了
可以通过rpm -qc 服务名;rpm -ql 服务名,查看配置文件和列出文件相关文件。
编译安装haproxy: