路由器实现网络负载均衡的三种模式“负载均衡”概念运用在网络上,简单来说是利用多个网络设备通道均衡分担流量。就像是寺庙一天要挑10桶水,1个尚必需要走10趟,但同时指派10个和尚却只要一趟即可完成工作的道理一样。负载均衡可运用多个网络设备同时工作,达成加速网络信息的处理能力,进而优化网络设备的性能,取代设备必须不停升级或淘汰的命运。目前普遍被运用在网络设备中,如服务器、路由器、交换机等。目前提出的三种不同的负载均衡模式,可较全面的包含各种网络架构中所应采取措施,三种模式分别是:模式一:智能型负载均衡智能型负载均衡模式,是依据接入WAN端带宽的大小比例,自动完成负载均衡工作,进一步协助达成带宽使用率的优化目的。Qno侠诺在智能型负载均衡模式中,提供了联机数均衡与IP均衡两种选择。联机数均衡是依据WAN端带宽大小比例,将内网所有的联网机数作均衡分配。例如WAN1接入4M、WAN2接入2M,则联机数就会依据2:1分配。此种配置是网管员最一般的配置模式。而IP均衡模式是为了避免某些网站(EX银行网站或HTTPS类型的网站),只能接受来自同一个公网IP的所发出封包的瓶颈。如果采用联机数负载均衡模式,会发生该IP所发出的访问封包不一定是从固定WAN口流出,造成特定网站拒绝服务,导致断线的情况发生。如果采用IP均衡,让IP依据WAN端带宽大小进行比例均衡分配,例如WAN1与WAN2的带宽比例为2:1,则PC1、PC2走WAN1,PC3走WAN2,PC4、PC5走WAN1……,即可达到同一个内网PC所发出的应用服务封包,都从固定的WAN口(公网IP)流出,而整体内网IP也会依据带宽大小比例,自动进行均衡配置。此种配置比较适合常常需要进入特定网站时选择。模式二:指定路由指定路由比起智能型负载均衡而言,是保留了更多的自由设定弹性与例外原则。由于智能型负载均衡是针对整体内网联机数或是整体IP进行均衡分配。并不能个别指定某种应用服务、某个特定IP、某个特定网址,通过哪个WAN口出去。所以,有时会造成特定的服务(例如邮件、VOIP等)或特定的人士(公司老板、高管等)不能有享有优先或例外的不便。因此,指定路由是提供可配合协议绑定,先分别指定哪个应用服务、哪个IP网段、哪个目的网址,走哪个WAN端口。而其余剩下未绑定的部份,再进行智能型负载均衡,同样也有协议绑定模式或是IP均衡模式两种选择。模式三:策略路由由于大陆地区普遍存在电信、网通彼此互连不互通的跨网瓶颈。某家公司若同时接入电信网通线路,有时会明显发现要从电信去访问网通所提供的服务(如游戏下载等其它应用),会发现非常的缓慢,这就是服务器互访非常困难所造成的问题。策略路由设定,让两个以上互连不互通的ISP线路分流,让电信服务走电信、网通服务走网通,加速服务存取的速度,可大大减低跨网的瓶颈。Qno侠诺在在产品的接口设计上采用了内建的网通策略模式,指定哪些WAN口只给网通走,即可快速设定完成。如果有其它的ISP线路需要做策略路由,也可采用自定的策略模式。策略路由除了普遍应用在电信网通分流之外,也同样可运用在跨国企业、校园网络专线、公众网络、医保专线与一般网络的双网配置架构中,可帮助整合、加速双网的服务质量。浅谈IDC机房的负载均衡服务大部分的个人网站在一开始或许只是跟几十人上百人共享的一个虚拟主机空间,然后随着内容的增加和访问量的增长,虚拟主机的带宽、空间已经不能满足需求,站长就得开始考虑为网站购置一台独立的服务器,使用100M共享甚至是10M独享带宽;而当网站继续发展,访问的用户也已经遍布大江南北,站长又得考虑电信网通的互通问题,在南方和北方各放置一台服务器作为镜像站点,或是采用双线接入;当这个网站访问量更大时,一味的增加带宽和设置镜像站点无疑会使网站运营成本剧增,加上单个服务器本身也有性能和线程的瓶颈,在并发访问量较大并且集中在一台服务器的时候,“Servertoobusy”就出现了,而这时站长应该采用什么方式使得网站在高访问量的时候仍然拥有较好的访问效果呢?这就牵涉到负载均衡的话题。我们之前讨论过CDN,其实CDN除了加速之外,也具有分流的效果,因此在负载均衡领域也有不少应用,其实基本上缓存(Cache)+镜像技术都有分流作用,但是如何分流还是需要一个负载均衡设备进行引导,所以,我们今天专门讨论负载均衡技术。关于负载均衡服务负载均衡服务能够平衡服务器群中的所有的服务器和应用之间的通信负载,根据实时响应时间进行判断,将任务交由负载最轻的服务器来处理,以实现真正的智能通信管理和最佳的服务器群性能。负载均衡技术控制第四层到第七层的应用/内容,从而对不同类型的客户和应用实现了优先级划分和差别服务,使用第七层智能会话恢复技术,同时可以检测出HTTP400,500和600系列的错误。它透明地将交易重新定向到另一台服务器,从而使系统能够完成该交易。服务器故障切换和多重冗余特性可以让通信绕过故障点,从而使网站始终保持运行和可访问性。实现负载均衡的方法关于实现负载均衡的方法,网上也有不少相关讨论,以下做一些引用:1、基于特定服务器软件的负载均衡很多网络协议都支持“重定向”功能,例如在HTTP协议中支持Location指令,接收到这个指令的浏览器将自动重定向到Location指明的另一个URL上。由于发送Location指令比起执行服务请求,对Web服务器的负载要小的多,因此可以根据这个功能来设计一种负载均衡的服务器。任何时候Web服务器认为自己负载较大的时候,它就不再直接发送回浏览器请求的网页,而是送回一个Location指令,让浏览器去服务器集群中的其他服务器上获得所需要的网页。在这种方式下,服务器本身必须支持这种功能,然而具体实现起来却有很多困难,例如一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送Location指令,Location指令和浏览器都没有这方面的支持能力,这样很容易在浏览器上形成一种死循环。因此这种方式实际应用当中并不多见,使用这种方式实现的服务器集群软件也较少。有些特定情况下可以使用CGI(包括使用FastCGI或mod_perl扩展来改善性能)来模拟这种方式去分担负载,而Web服务器仍然保持简洁、高效的特性,此时避免Location循环的任务将由用户的CGI程序来承担。2、基于DNS的负载均衡由于基于服务器软件的负载均衡需要改动软件,因此常常是得不偿失,负载均衡最好是在服务器软件之外来完成,这样才能利用现有服务器软件的种种优势。最早的负载均衡技术是通过DNS服务中的随机名字解析来实现的,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中的一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,他们也就访问不同地址上的Web服务器,从而达到负载均衡的目的。例如如果希望使用三个Web服务器来回应对请求,就可以设置该域的DNS服务器中关于该域的数据包括有与下面例子类似的结果:的不同地址,那么随后的HTTP请求也就发送给不同地址了。DNS负载均衡的优点是简单、易行,并且服务器可以位于互联网的任意位置上,当前使用在包括Yahoo在内的Web站点上。然而它也存在不少缺点,一个缺点是为了保证DNS数据及时更新,一般都要将DNS的刷新时间设置的较小,但太小就会造成太大的额外网络流量,并且更改了DNS数据之后也不能立即生效;第二点是DNS负载均衡无法得知服务器之间的差异,它不能做到为性能较好的服务器多分配请求,也不能了解到服务器的当前状态,甚至会出现客户请求集中在某一台服务器上的偶然情况。3、反向代理负载均衡使用代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求均匀转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。实现这个反向代理能力并不能算是一个特别复杂的任务,但是在负载均衡中要求特别高的效率,这样实现起来就不是十分简单的了。每针对一次代理,代理服务器就必须打开两个连接,一个为对外的连接,一个为对内的连接,因此对于连接请求数量非常大的时候,代理服务器的负载也就非常之大了,在最后反向代理服务器会成为服务的瓶颈。例如,使用Apache的mod_rproxy模块来实现负载均衡功能时,提供的并发连接数量受Apache本身的并发连接数量的限制。一般来讲,可以使用它来对连接数量不是特别大,但每次连接都需要消耗大量处理资源的站点进行负载均衡,例如搜寻。使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能,具备额外的安全性,外部客户不能直接访问真实的服务器。并且实现起来可以实现较好的负载均衡策略,将负载可以非常均衡的分给内部服务器,不会出现负载集中到某个服务器的偶然现象。4、基于NAT的负载均衡技术网络地址转换为在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后外部网络中的计算机就各自与自己转换得到的地址上服务器进行通信,从而达到负载分担的目的。地址转换可以通过软件方式来实现,也可以通过硬件方式来实现。使用硬件方式进行操作一般称为交换,而当交换必须保存TCP连接信息的时候,这种针对OSI网络层的操作就被称为第四层交换。支持负载均衡的网络地址转换为第四层交换机的一种重要功能,由于它基于定制的硬件芯片,因此其性能非常优秀,很多交换机声称具备400MB-800MB的第四层交换能力。使用软件方式来实现基于网络地址转换的负载均衡则要实际的多,除了一些厂商提供的解决方法之外,更有效的方法是使用免费的自由软件来完成这项任务。其中包括LinuxVirtualServerProject中的NAT实现方式,或者本文作者在FreeBSD下对natd的修订版本。一般来讲,使用这种软件方式来实现地址转换,中心负载均衡器存在带宽限制,在100MB的快速以太网条件下,能得到最快达80MB的带宽,然而在实际应用中,可能只有40MB-60MB的可用带宽。IDC提供的负载均衡服务IDC提供的负载均衡服务有:互联网数据中心提供的专业负载均衡服务,可以针对用户的服务器做本地负载均衡(ServerLoadBalancing),负载均衡设备采用强劲有效的负载均衡算法,按照实际响应时间,在性能不同的服务器之间进行负载的智能分配,充分利用服务器群中的每一台服务器,保护现有投资,既保证性能一般的服务器不成为系统的瓶颈,也保证性能高的服务器资源得到充分的利用。大部分的电信IDC互联网数据中心都建立了共享的负载均衡设施(SharedLoadBalancing),该机房的购买此项增值服务的所有托管客户的服务器都可以共享机房购置的负载均衡设施,针对一些高端用户,一些数据中心还推出了独享负载均衡服务(DedicatedLoadBalancingService),该服务主要是为了避免共享用户争用负载均衡设备资源的可能,而且会为个别大型客户单独建立自己的负载均衡设施,以保证达到良好的效果。共享负载均衡服务(SharedLoadBalancingService)托管客户可以与其它客户共同分享IDC的共享负载均衡设施(SharedLoadBalancing),以低廉的代价,获得服务器的负载均衡服务。独享负载均衡服务(DedicatedLoadBa