zoukankan      html  css  js  c++  java
  • 负载均衡

           负载均衡器可以根据实际的响应时间制定优先级交付决策,从而实现高性能、智能化流量管理,达到最佳的服务器群性能。简单的说,负载均衡就是一个数据包重路由的过程,一般的设备都能做到4层的负载均衡,到7层的负载均衡,就需要能对服务器的应用负载进行检测了。 

           采用第七层应用控制可以减少通信高峰期的错误讯息,因为差错控制和流量管理技术可以侦测到一些错误信息,并透明地将会话重定向到另一个服务器,使用户顺利地进行使用。例如,服务器A不可用或者数据库出现错误,错误信息将会返回到负载均衡器上,然后会将客户的访问指向服务器B或者将消息重放到其他数据库中去,整个过程对用户是透明的。

      许多厂商推出了专用于平衡服务器负载的负载均衡器。目前负载均衡器生产商有:Intel、Alteon Web、Arrow Point(已被思科并购)、Coyote Point、F5 Networks、Foundry Networks、HydraWeb以及 RADWare等。

      负载均衡器的形式多种多样,作为启动器,它以各种形式和大小出现。一些厂商,如Alteon、ArrowPoint,将负载均衡器集成到交换设备中,置于服务器与Internet链接之间; 而另外一些厂商,如Coyote Point、 F5 Networks 以及HydraWeb,则运用两块网络适配器将这一功能集成到PC中,其中一块连接到前端止于Web服务器的Hub上,另一块通过路由器或其他设备连接到Internet

           一旦负载均衡设备检测到所管理的每台服务器承载的负荷量,它会按照一定的算法来分配通信。

           Arrow Point公司的CS-100、F5的 Big/ip、以及Coyote Point公司的均衡器都支持循环均衡功能。其处理方法是,均衡器同时向所有可用服务器以命令序列方式发送相同数量的请求。

           Alteon的AceSwitch 180、Coyote Point的均衡器、 F5 Networks的Big/ip以及RADWare的Web服务定向器支持这样一种均衡方法:它能以最小的TCP链接将请求发送到服务器。Arrow Point的CS-100还支持静态负荷均衡选项,这就是说,为服务器分配请求是建立在事先已指定负荷量的基础之上的。

      由于采用了负载均衡技术,自动故障恢复得以实现,服务的时间可以延长,24×7可靠性和持续运行成为可能。另外,负载均衡器一般也支持路径外返回模式,即绕过流量分配器,为那些焦急等待大量数据文件请求响应的客户提供更快的响应时间。

      总之,如果负载均衡需求简单,也就是说,只是接近于通过所有服务器的“共享”级水平,并且网络环境也只是由低速LAN组成,则不需要太高级的均衡产品。同样的,若是静态内容传输,则只要具备循环分配功能的负载均衡器也就可以了。

      在最新的负载均衡产品中,智能化越来越明显。一些智能化的负载均衡器能够侦测到像数据库错误、服务器不可用等信息,从而采取措施使会话恢复和重定向服务器,使电子商务能够得以顺利进行。多址负载均衡器可以对客户发来的访问请求进行解析,计算出最佳地址,然后将该地址返回客户,使客户自动连接到对其请求来说最佳的数据中心。

    负载均衡有两种方式可以实现:

    1. 基于硬件的方式(前端的负载均衡)

    优点:

           1) 能够直接通过智能交换机实现,处理能力更强,而且与系统无关,负载性能强

           2) 更适用于一大堆设备、大访问量、简单应用

    缺点:

           1) 价格贵,贵不仅是体现在一台设备上,而且体现在冗余配置上.很难想象后面服务器做一个集群,但最关键的负载均衡设备却是单点配置;

           2) 无法有效掌握服务器及应用状态,硬件负载均衡,一般都不管实际系统与应用的状态,而只是从网络层来判断,所以有时候系统处理能力已经不行了,但网络可能还来得及反应(这种情况非常典型,比如应用服务器后面内存已经占用很多,但还没有彻底不行,如果网络传输量不大就未必在网络层能反映出来)

    如:F5,Radware,Array,梭子鱼,冰峰

           F5贵,也相对稳定,有硬件交换芯片,所以吞吐量比PC SERVER做出来的LVS要大一些,相对于后端的服务器,前端的负载均衡的稳定性更重要一些。前几年F5不是很流行的时候,还用过LVS,现在在ISP里面用的,基本都是F5了。

    2. 基于软件的方式(后端的负载均衡)

    优点:

           1) 基于系统与应用的负载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用是很重要的

           2) 性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。

    缺点:

           负载能力受服务器本身性能的影响,性能越好,负载能力越大。

    如:LanderBalance,Load Balance,CheckPoint,Zeus(http://www.zeus.com/),Linux LVS等。 Zeus 有硬件也有软件。 看自己需求。 在PC server上安装Zeus软件也是实现软件的负载均衡。

    后端服务器可运行任何支持TCP/IP的操作系统,包括Linux,各种Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows NT/2000等。

    负载调度器能够支持绝大多数的TCP和UDP协议:

    TCP HTTP,FTP,PROXY,SMTP,POP3,IMAP4,DNS,LDAP,HTTPS,SSMTP等,

    UDP DNS,NTP,ICP,视频、音频流播放协议等 。

    无需对客户机和服务器作任何修改,可适用大多数Internet服务。

  • 相关阅读:
    IOS中延迟执行的几种方法
    Xcode6中如何去掉默认的Main.storyboard
    IOS7.0 UILabel实现自适应高度的新方法
    UITabBarController常见代理方法的使用
    Infopath 2010 接收SQL Server数据
    olsr学习之一:Ubuntu10.04下ns2-allinone-2.34安装方法
    常用工具遇到的错误以及解决方法
    笔记本电脑选购个人的一些浅见
    嵌入式题目集锦
    关于网络传输字节顺序的问题: hton? or ntoh?
  • 原文地址:https://www.cnblogs.com/weikunzz/p/6710531.html
Copyright © 2011-2022 走看看