(一):背景介绍
随着 Internet 的快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长,特别是对数据 中心、大型企业以及门户网站等的访问,其访问流量甚至达到了 10Gb/s 的级别;同时,服务器网 站借助 HTTP、FTP、SMTP 等应用程序,为访问者提供了越来越丰富的内容和信息,服务器逐渐 被数据淹没;另外,大部分网站(尤其电子商务等网站)都需要提供不间断 24 小时服务,任何服 务中断或通信中的关键数据丢失都会造成直接的商业损失。所有这些都对应用服务提出了高性能和 高可靠性的需求。 但是,相对于网络技术的发展,服务器处理速度和内存访问速度的增长却远远低于网络带宽和应用 服务的增长,网络带宽增长的同时带来的用户数量的增长,也使得服务器资源消耗严重,因而服务 器成为了网络瓶颈。传统的单机模式,也往往成为网络故障点。
针对以上情况的解决方案:
(1) 服务器进行硬件升级:采用高性能服务器替换现有低性能服务器。 该方案的弊端:
高成本:高性能服务器价格昂贵,需要高额成本投入,而原有低性能服务器被闲置,造成资 源浪费。
可扩展性差:每一次业务量的提升,都将导致再一次硬件升级的高额成本投入,性能再卓越 的设备也无法满足当前业务量的发展趋势。
无法完全解决现在网络中面临的问题:如单点故障问题,服务器资源不够用问题等。
(2) 组建服务器集群,利用负载均衡技术在服务器集群间进行业务均衡。
该方案的优势: 低成本
可扩展性:当业务量增长时,系统可通过增加服务器来满足需求,且不影响已有业务,不降 低服务质量
高可靠性:单台服务器故障时,由负载均衡设备将后续业务转向其他服务器,不影响后续业 务提供,保证业务不中断。
(二):知识剖析
负载均衡原理
系统的扩展可分为纵向(垂直)扩展和横向(水平)扩展。纵向扩展,是从单机的角度通过增加硬件处理能力,比如CPU处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升,不能满足大型分布式系统(网站),大流量,高并发,海量数据的问题。因此需要采用横向扩展的方式,通过添加机器来满足大型网站服务的处理能力。比如:一台机器不能满足,则增加两台或者多台机器,共同承担访问压力。这就是典型的集群和负载均衡架构:如下图:
应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理,并返回相应数据。
负载均衡设备:将用户访问的请求,根据负载均衡算法,分发到集群中的一台处理服务器。(一种把网络请求分散到一个服务器集群中的可用服务器上去的设备)
负载均衡的作用:
1.解决并发压力,提高应用处理性能(增加吞吐量,加强网络处理能力);
什么是吞吐量(TPS)、QPS、并发数、响应时间(RT)概念
参考我的系列文章:吞吐量(TPS)、QPS、并发数、响应时间(RT)概念
2.提供故障转移,实现高可用;
3.通过添加或减少服务器数量,提供网站伸缩性(扩展性);
4.安全防护;(负载均衡设备上做一些过滤,黑白名单等处理)
负载均衡分类:
根据实现技术不同,可分为DNS负载均衡,HTTP负载均衡,IP负载均衡,反向代理负载均衡、链路层负载均衡等。
各种负载均衡具体介绍:
参考系列文章:负载均衡原理的解析
负载均衡算法:
轮询、 随机、最少链接、Hash(源地址散列)、加权
硬件负载均衡:
采用硬件的方式实现负载均衡,一般是单独的负载均衡服务器,价格昂贵,一般土豪级公司可以考虑,业界领先的有两款,F5和A10。
价格:F5, 15w~55w不等;A10, 55w-100w不等。
优点:功能全面支持各层级的负载均衡,支持全面的负载均衡算法,支持全局负载均衡。一般软件负载均衡支持到5万级并发已经很困难了,硬件负载均衡可以支持。商用硬件负载均衡稳定性高,具备防火墙,防DDOS攻击等安全功能,提供售后支持。
3.常见问题
怎么配置负载均衡?
4.什么叫反向代理负载均衡
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器,该服务器就可称之为代理服务器。由于代理服务器处在最终处理请求访问的服务器之前,因此可以在代理服务器上做负载均衡。