负载均衡分类及优缺点

本文详细探讨了系统扩展的两种方式——纵向和横向,重点介绍了负载均衡在解决高并发、高可用性和安全性的角色,以及DNS、硬件F5/A10、LVS和Nginx等不同类型的负载均衡器的特点和应用场景。提出了多级负载均衡的概念,包括DNS作为第一级,硬件设备作为第二级,LVS和Nginx作为后续层次的解决方案。
摘要由CSDN通过智能技术生成

系统的扩展可分为纵向(垂直)扩展和横向(水平)扩展。

纵向扩展,是从单机的角度通过增加硬件处理能力,比如CPU处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升,不能满足大型分布式系统(网站),大流量,高并发,海量数据的问题。

横向扩展,通过添加机器来满足大型网站服务的处理能力。比如:一台机器不能满足,则增加两台或者多台机器,共同承担访问压力。这就是典型的集群和负载均衡架构。

应用集群,将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求处理,并返回相应数据。

负载均衡设备,将用户访问的请求,根据负载均衡算法,分发到集群中的一台处理服务器。

负载均衡作用

- 解决并发压力,提高吞吐量。
- 提供故障转移,检测下游服务器状态,实现高可用。
- 利于横向扩展服务器。
- 安全防护,负载均衡设备上做一些过滤,黑白名单等处理。

负载均衡种类

常用的负载均衡种类:DNS、硬件F5或A10、LVS、Nginx。

DNS

最早的负载均衡技术,利用域名解析实现负载均衡,在DNS服务器,配置多个A记录,这些A记录对应的服务器构成集群。大型网站总是部分使用DNS解析,作为第一级负载均衡。

优点

1. 使用简单:负载均衡工作,交给DNS服务器处理,省掉了负载均衡服务器维护的麻烦。
2. 提高性能:可以支持基于地址的域名解析,解析成距离用户最近的服务器地址,可以加快访问速度,改善性能。

缺点

1. 可用性差:DNS解析是多级解析,新增/修改DNS后,解析时间较长;解析过程中,用户访问网站将失败。
2. 扩展性低:DNS负载均衡的控制权在域名商那里,无法对其做更多的改善和扩展。
3. 维护性差:也不能反映服务器的当前运行状态;支持的算法少;不能区分服务器的差异(不能根据系统与服务的状态来判断负载)。
4. 更新不及时:DNS缓存可能会保留较长时间。

使用建议

将DNS作为第一级负载均衡,A记录对应着内部负载均衡的IP地址,通过内部负载均衡将请求分发到真实的Web服务器上。

硬件负载均衡

硬件负载均衡通过单独的硬件设备来实现负载均衡功能,这类设备和路由器、交换机类似。常用的有F5和A10。

优点

1. 功能强大:全面支持各层级的负载均衡,支持全面的负载均衡算法,支持全局负载均衡。
2. 性能强大:对比一下,软件负载均衡支持到 10 万级并发已经很厉害了,硬件负载均衡可以==支持 100 万以上==的并发。
3. 稳定性高:商用硬件负载均衡,经过了良好的严格测试,经过大规模使用,稳定性高。
4. 支持安全防护:硬件均衡设备除具备负载均衡功能外,还具备防火墙、防 DDoS 攻击等安全功能。

缺点

1. 价格昂贵:最普通的一台 F5十多万,好一点近百万元。
2. 扩展能力差:硬件设备,可以根据业务进行配置,但无法进行扩展和定制。

使用建议

DNS作地理级别负载均衡的情况下,在其下级使用F5或A10作为低级的负载均衡器,之后将流量转发到下级集群。

软件负载均衡

软件负载均衡,可以在普通的服务器上运行负载均衡软件,实现负载均衡功能。目前常见的有 Nginx、HAproxy、LVS,其中的区别:

Nginx:七层(OSI网络七层模型,**第七层应用层**)负载均衡,支持 HTTP、E-mail 协议,同时也支持四层负载均衡;

HAproxy:支持七层规则的,性能也很不错。OpenStack 默认使用的负载均衡软件就是 HAproxy;

LVS:运行在内核态,性能是软件负载均衡中最高的,严格来说**工作在第三层网络层**,所以更通用一些,适用各种应用服务。

优点

1、易操作:无论是部署还是维护都相对比较简单。

2、便宜:只需要服务器的成本,软件是免费的

3、灵活:4 层和 7 层负载均衡可以根据业务特点进行选择,方便进行扩展和定制功能。

 缺点

1、性能一般,一个 Nginx 大约能支撑 5 万并发。

2、功能没有硬件负载均衡那么强大。

3、一般不具备防火墙和防 DDoS 攻击等安全功能。

使用建议

LVS专注网络更底层,性能更卓越,自身有双机热备机制(主备架构)。Nginx工作在第七层应用层,但如果流量较大,势必为成为系统的瓶颈。LVS+多Nginx 的使用中,既可以避免LVS故障检测的短板,又能避免Nginx性能瓶颈问题。

多级负载均衡的概念,LVS像是在硬件负载均衡器和Nginx之间的一种折中的解决方案,由此可以形成一种: DNS —> F5/A10 —> LVS —> Nginx。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值