初学负载均衡,如果不能很好把握它的知识,我们可以多换几个角度进行学习。那么,在此,我们为大家以软、硬件两个角度对负载均衡进行诠释。希望大家在这个角度上能够明晰网络负载均衡的意义,掌握其中的要点,为今后的学习做出铺垫。望所有读者都能获得帮助。
网络负载均衡主要分为软件负载均衡及硬件负载均衡,下面简单介绍一些两种方式的技术特点。
一、软件负载均衡
软件负载均衡是指在系统服务器上安装相应负载均衡软件,进行相关的配置,达到均衡负载的目的。它基于特定的使用环境、配置简单、使用灵活、成本较低,主要包括以下几种方式。
1、服务器集群技术
首先介绍Microsoft服务器集群技术,它主要包括微软集群服务(MSCS)、网络负载均衡(NLB)及组件负载均衡(CLB)几个组件,它们集成在windows 2000高级版、windows 2000数据中心版及windows 2003 企业版等操作系统当中。
通过在两台或多台服务器之间安装集群服务,可以将两台或多台服务器构建成一个负载均衡服务器群。多台服务器对外只提供一个共用外网IP,群内各服务器使用单独的内网IP通讯,相互检测及同步数据。通过配置网络负载均衡,可以有效地把对服务器网站的访问量分配到群中各服务器当中,避免因访问量过大而产生瓶颈。集群组中的任何一台服务器出现故障都不会影响网站的对外服务,组中的其他服务器会自动接管故障服务器的访问量及处理数据,从而实现多机热备份、多机负载均衡的功能。
除了windows集成的集群软件之外,还有不少软件厂商也开发出基于不同操作系统的集群软件,如LanderCluster、Co-StandBy等等。这些软件对服务器要求较高,同时也占用部分系统资源,故使用的时候要合理设计服务器的相关配置。
2、基于DNS的负载均衡
基于服务器软件的负载均衡对服务器软硬件均有一定要求,负载均衡也可在服务器软件之外来完成。早期的负载均衡技术是通过DNS服务中的随机名字解析来实现的,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中的一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,他们也就访问不同地址上的Web服务器,从而达到负载均衡的目的。
DNS负载均衡的优点是简单、易行,并且服务器可以位于互联网的任意位置上。然而它也存在一些缺点,一个缺点是为了保证DNS数据及时更新,一般都要将DNS的刷新时间设置的较小,但太小就会造成太大的额外网络流量,并且更改了DNS数据之后也不能立即生效。第二点是DNS负载均衡无法得知服务器之间的差异,它不能做到为性能较好的服务器多分配请求,也不能了解到服务器的当前状态,甚至会出现客户请求集中在某一台服务器上的偶然情况。
3、反向代理负载均衡
使用代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求均匀转发给多台内部Web服务器之一上,从而达到网络负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。
实现这个反向代理能力并不能算是一个特别复杂的任务,但是在负载均衡中要求特别高的效率,这样实现起来就不是十分简单的了。针对每一次代理,代理服务器就必须打开两个连接,一个为对外的连接,一个为对内的连接,因此对于连接请求数量非常大的时候,代理服务器的负载也就非常之大了,在最后反向代理服务器会成为服务的瓶颈。
使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能,具备额外的安全性,外部客户不能直接访问真实的服务器。并且实现起来可以实现较好的负载均衡策略,将负载可以非常均衡的分给内部服务器,不会出现负载集中到某个服务器的偶然现象。
4、基于NAT的负载均衡技术
网络地址转换为在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后外部网络中的计算机就各自与自己转换得到的地址上服务器进行通信,从而达到负载分担的目的。
二、硬件负载均衡
硬件负载均衡是直接在服务器和外部网络间安装负载均衡设备,或者叫做负载均衡器。因为使用专用设备完成特定工作,独立于操作系统,整体性能得到大幅提高,并且根据不同需求可以设定多种负载均衡策略,智能化较高,可达到较好的网络负载均衡效果。
除了使用负载均衡器之外,还有一些交换机和路由器厂商也提出负载均衡方案。例如把三层交换机与负载均衡器结合使用,把负载均衡功能集成于交换机当中,这样不但可以提供较高的处理能力,而且还有多种接口类型可以使用。
对于软件负载均衡而言,硬件负载均衡在功能、性能、便捷性都要好一些,但搭建成本就比较高。因此,用户要跟据自身的情况选择适合的负载均衡方案,实现低投入、高产出,在性能与价格之间寻找到最佳的平衡点。