赞
踩
haproxy是一款高性能的负载均衡软件,主要做七层负载均衡使用,也支持四层负载均衡。
七层负载均衡:使用的是7层http协议;
四层负载均衡:使用的是tcp协议加端口的方式。
因为其专注于负载均衡这一些事情,因此与nginx比起来在负载均衡这件事情上做更好,更专业。
ha-proxy 作为目前流行的负载均衡软件,必须有其出色的一面。下面介绍一下ha-proxy相对LVS,Nginx等负载均衡软件的优点。
①支持tcp / http 两种协议层的负载均衡,使得其负载均衡功能非常丰富。
②支持8种左右的负载均衡算法,尤其是在http模式时,有许多非常实在③的负载均衡算法,适用各种需求。
④性能非常优秀,基于事件驱动的链接处理模式及单进程处理模式(和Nginx类似)让其性能卓越。
⑤拥有一个功能出色的监控页面,实时了解系统的当前状况。
功能强大的ACL支持,给用户极大的方便。
①LVS基于Linux操作系统实现软负载均衡,而Haproxy和Nginx是基于第三方应用实现的软负载均衡
②LVS是可实现4层的IP负载均衡技术,无法实现基于目录、URL的转发。而Haproxy和Nginx都可以实现4层和7层技术,Haproxy可提供TCP和Http应用的负载均衡综合解决方案
③LVS因为工作在ISO模型的第四层,其状态监测功能单一,而Haproxy在状态监测方面功能更丰富、强大,可支持端口、URL、脚本等多种状态监测方式
④Haproxy功能强大,但整体性能低于4层模式的LVS负载均衡
⑤Nginx主要用于web服务器或缓存服务器
算法有很多,这里介绍常用的几种:
基于权重进行轮询,在服务器的处理时间保持均匀分布时,这是最平衡,最公平的算法.此算法是动态的,这表示其权重可以在运行时进行调整.不过在设计上,每个后端服务器仅能最多接受4128个连接
基于权重进行轮叫,与roundrobin类似,但是为静态方法,在运行时调整其服务器权重不会生效.不过,其在后端服务器连接数上没有限制
新的连接请求被派发至具有最少连接数目的后端服务器.
将请求的源地址进行hash运算,并由后端服务器的权重总数相除后派发至某匹配的服务器.这可以使得同一个客户端IP的请求始终被派发至某特定的服务器.
共需四台虚拟机:
虚拟机1,虚拟机2:安装nginx,作为真正的web服务器。
虚拟机3:安装haproxy,实现haproxy的负载均衡。
虚拟机4:客户端,用于测试整个集群,无需任何配置。
虚拟机1进行如下操作:
安装并开启nginx,并在nginx默认发布目录中写入测试内容
[root@web-1 ~]# yum -y install nginx
[root@web-1 ~]# systemctl start nginx
[root@web-1 ~]# echo web-1 > /usr/share/nginx/html/index.html
虚拟机2进行如下操作:
同虚拟机1 的操作一样
[root@web-2 ~]# yum -y install nginx
[root@web-2 ~]# systemctl start nginx
[root@web-2 ~]# echo web-2 > /usr/share/nginx/html/index.html
虚拟机4进行如下操作
验证两台web服务器是否搭建好
虚拟机3做如下操作:
1)安装haproxy
[root@localhost ~]# yum -y install haproxy
2)修改haproxy的配置文件
[root@localhost ~]# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
#先做备份
[root@localhost ~]# vim /etc/haproxy/haproxy.cfg
配置文件内容和解释如下:
global #全局配置
log 127.0.0.1 local3
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。