负载均衡的软件都有哪些? 运维技术讲解

  作为很多站长都在使用负载均衡来让网站访问更快速稳定,用软件方式实现的负载均衡环境更为灵活。现在下列产品被普遍地应用于网站环境中。

图怪兽_5bb30d95791c55170caf744a56a55f4e_20324.png

目前,网站服务器使用的负载平衡软件主要有三种主流软件。

LVS:一是抗负荷能力强;抗负荷能力强,性能好,可达F5硬件的60%;内存和cpu资源消耗较少。

工作在网络4层,通过vrrp协议转发(仅用于分发),具体流量由linux核心处理,无流量产生。

2.稳定性和可靠性好,有完善的热备案;(如LVS+Keepalived)

应用范围较广,可对所有应用进行负载均衡;

不支持正则处理,不能进行动静分离。

5.支持负载平衡算法:rr(轮流)、wrr(带权轮流)、lc(最小连接)、wlc(权重最小连接)

配置复杂,对网络网络依赖性大,稳定性高。

Ngnix:

1.工作在网络7层以上,可以对http应用做一些分流策略,比如域名和目录结构;

Nginx对网络的依赖性较小,理论上可以ping通就可以实现负载功能;

3.Nginx安装配置简单,测试方便;

还可承受高负荷压力且稳定,一般可支撑10,000多次并发;

5.后端服务器的健康检查只支持端口检查,不支持url检查。

6.Nginx要求的异步处理可以帮助节点服务器减轻负载;

Nginx只能支持http,https和Email协议,因此适用范围较小。

8.不支持Session的直接维护,但可以通过ip_hash解决。对Bigrequestheader的支持不是很好。

9.支持负载平衡算法:Round-robin(循环)、Weight-round-robin(带权循环)、Ip-hash(Ip哈希)

Nginx还可以制作Web服务器,即Cache功能。

HAProxy的特点是:

支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机;

能够补充Nginx的一些缺点,如Session的维护,Cookie的引导等等。

3.支持url检测后端服务器故障的检测会很有帮助。

4.更多的负载平衡策略,如动态加权轮流(DynamicRoundRobin)、加权源地址哈希、加权URL哈希和加权参数哈希。

就效率而言,HAProxy将比Nginx具有更好的负载平衡速度。

6.HAProxy可以平衡Mysql的负载,检测后端的DB节点,平衡负载。

9.支持负载平衡算法:Round-robin(轮流)、Weight-round-robin(带权轮流)、source(保持原地址)、RI(请求URL)、rdp-cookie(基于cookie)

不能做Web服务器即Cache。

三大主流软件负载均衡器适用于业务场景:

1.在网站建设初期,可以选择Nigix/HAproxy作为反向代理负载平衡(或者流量不大的话可以不选择负载平衡),因为配置简单,性能可以满足一般业务场景。如果考虑到负载平衡器有单点问题,可以使用Nginx+Keepalived/HAproxy+Keepalived来避免负载平衡器本身的单点问题。

2.网站并发达到一定程度后,为了提高稳定性和转发效率,可以使用LVS。毕竟LVS比Nginx/HAproxy更稳定,转发效率更高。但是维护LVS对维护人员的要求会更高,投入成本也会更高。

注意:Niginx与Haproxy的比较:Niginx支持七层,用户数量最多,稳定性更可靠。Haproxy支持四层和七层,支持更多的负载平衡算法,支持session保存等特定的选择取决于使用场景,目前Haproxy由于弥补了一些Niginx的不足,用户数量也在不断增加。

衡量负载均衡器质量的几个重要因素:

1.会话率:单位时间内处理请求数。会话并发能力:高并发请求;

3.数据率:数据处理能力。官方测试统计显示,haproxy单位时间处理的最大要求为2万个,可同时维护4万-5万个并发连接,最大数据处理能力为10Gbps。综上所述,haproxy是一款性能优异的负载平衡和反向代理服务器。

总结HAProxy的主要优势:

第一,免费开源,稳定性也很好。从我做的一些小项目可以看出,单Haproxy也跑的很好,稳定性可以和LVS媲美;

第二,根据官方文件,HAProxy可以跑满10Gbps,作为软件级负载平衡,也是惊人的;HAProxy可xy可以作为MySQL、邮件或其他非网络的负载平衡,我们经常用它作为MySQL(阅读)的负载平衡;

自带强大监控服务器状态的网页,在实际环境中我们结合Nagios进行邮件或短信报警,这也是我非常喜欢它的原因之一;HAProxy支持虚拟主机。


分享:

相关推荐