赞
踩
目录
ha-proxy是一款高性能的负载均衡软件,主要是做7层负载均衡,也可以做4层负载均衡。因为其专注于负载均衡这一些事情,因此与nginx比起来在负载均衡这件事情上做更好,更专业。ha-proxy 作为目前流行的负载均衡软件,必须有其出色的一面。ha-proxy相对LVS、Nginx等负载均衡软件的优点。
LVS、HAPorxy、Nginx对比:
负载均衡性能:LVS > HAProxy > Nginx
能性和便利性:Nginx>HA>LVS
对于一个大型后台系统来说,LVS、HAProxy和Nginx常常可以配合使用在不同的层级,LVS用在接入层的最前端,承担最大规模的流量分发;HAProxy负责按域名分流;而Nginx只需要作为Web服务器负责单机内多实例的负载均衡,或负责目录结构分流和静态资源缓存等需求。
haproxy算法:
(1)roundrobin:基于权重进行轮询,在服务器的处理时间保持均匀分布时,这是最平衡,最公平的算法.此算法是动态的,这表示其权重可以在运行时进行调整.
(2)static-rr:基于权重进行轮询,与roundrobin类似,但是为静态方法,在运行时调整其服务器权重不会生效.不过,其在后端服务器连接数上没有限制
(3)leastconn:新的连接请求被派发至具有最少连接数目的后端服务器.
服务器 | 主机名 | IP | 备注 |
HAProxy服务器 | haproxy | ens33:192.168.2.10(内网) ens38:192.168.1.10(外网) | 关闭selinux和firewalld |
Web1网站服务器 | web1 | ens33:192.168.2.20(内网) | 关闭selinux和firewalld |
Web2网站服务器 | web2 | ens33:192.168.2.30(内网) | 关闭selinux和firewalld |
- #haproxy主机安装
- yum install haproxy -y
-
- #编辑配置文件
- vim /etc/haproxy/haproxy.cfg #在文末新增如下内容
- listen websrv *:80 #本地集群监听端口,websrv为自定义名称,客户端访问192.168.1.10:80为转发到下面设置的集群节点IP和端口
- balance roundrobin #使用轮询,也是默认算法,可以不写;leastconn为最小连接算法名
- server web1 192.168.2.20:80 check inter 2000 rise 2 fall 5 #节点1,web1为自定义节点名,check为打开健康检查,inter为健康检查时间间隔,fall为几次健康检查失败就认为节点挂了,rise为节点恢复后,健康检查通过几次后,才认为该服务器真正恢复。
- server web2 192.168.2.30:80 check inter 2000 rise 2 fall 5 #节点2
- #启动服务
- systemctl start haproxy
客户端测试:
vim /etc/haproxy/haproxy.cfg #文末额外增加如下内容
- listen stats *:1080 #监听端口,stats为自定义名称
- stats refresh 30s #统计页面自动刷新时间
- stats uri /stats #统计页面url,可自定义,访问的时候使用的是该处设置的地址即可
- stats realm Haproxy Manager #进入管理界面查看状态信息
- stats auth admin:admin #统计页面用户名和密码设置
systemctl restart haproxy
参数说明:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。