Web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器同样,这多台服务器共同来为客户提供更高性能的服务。集群更标准的定义是:一组相互...

 Web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器同样,这多台服务器共同来为客户提供更高性能的服务。集群更标准的定义是:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理,此单一系统为客户工做站提供高可靠性的服务。
    而负载均衡的任务就是负责多个服务器之间(集群内)实现合理的任务分配,使这些服务器(集群)不会出现因某一台超负荷、而其余的服务器却没有充分发挥处理能力的状况。负载均衡有两个方面的含义:首先,把大量的并发访问或数据流量分担到多台节点上分别处理,减小用户等待响应的时间;其次,单个高负载的运算分担到多台节点上作并行处理,每一个节点设备处理结束后,将结果汇总,再返回给用户,使得信息系统处理能力能够获得大幅度提升
    所以能够看出,集群和负载均衡有本质上的不一样,它们是解决两方面问题的不一样方案,不要混淆。
   
    集群技术能够分为三大类:
    一、高性能性集群(HPC Cluster)
    二、高可用性集群(HA Cluster)
    三、高可扩展性集群
   
 1、高性能性集群(HPC Cluster)
     指以提升科学计算能力为目标的集群技术。该集群技术主要用于科学计算,这里不打算介绍,若是感兴趣能够参考相关的资料。
 2、高可用性集群(HA Cluster)
     指为了使群集的总体服务尽量可用,减小服务宕机时间为目的的集群技术。若是高可用性集群中的某节点发生了故障,那么这段时间内将由其余节点代替它的工做。固然对于其余节点来说,负载相应的就增长了。
    为了提升整个系统的可用性,除了提升计算机各个部件的可靠性之外,通常状况下都会采用该集群的方案。
    对于该集群方案,通常会有两种工做方式:
     ①主-主(Active-Active)工做方式
       这是最经常使用的集群模型,它提供了高可用性,而且在只有一个节点时也能提供能够接受的性能,该模型容许最大程度的利用硬件资源。每一个节点都经过网络对客户机提供资源,每一个节点的容量被定义好,使得性能达到最优,而且每一个节点均可以在故障转移时临时接管另外一个节点的工做。全部的服务在故障转移后仍保持可用,可是性能一般都会降低。
     html

       这是目前运用最为普遍的双节点双应用的Active/Active模式。web

        支撑用户业务的应用程序在正常状态下分别在两台节点上运行,各自有本身的资源,好比IP地址、磁盘阵列上的卷或者文件系统。当某一方的系统或者资源出现故障时,就会将应用和相关资源切换到对方的节点上。算法

这种模式的最大优势是不会有服务器的“闲置”,两台服务器在正常状况下都在工做。但若是有故障发生致使切换,应用将放在同一台服务器上运行,因为服务器的处理能力有可能不能同时知足数据库和应用程序的峰值要求,这将会出现处理能力不够的状况,下降业务响应水平。数据库

    
     ②主-从(Active-Standby)工做方式
      为了提供最大的可用性,以及对性能最小的影响,主-从工做方式须要一个在正常工做时处于备用状态的节点,主节点处理客户机的请求,而备用节点处于空闲状态,当主节点出现故障时,备用节点会接管主节点的工做,继续为客户机提供服务,而且不会有任何性能上影响。
         
  缓存

  两节点的Active/Standby模式是HA中最简单的一种,两台服务器经过双心跳线路组成一个集群。应用Application联合各个可选的系统组件如:外置共享的磁盘阵列、文件系统和浮动IP地址等组成业务运行环境。服务器

PCL为此环境提供了彻底冗余的服务器配置。这种模式的优缺点:网络

  • 缺点:Node2在Node1正常工做时是处于“闲置”状态,形成服务器资源的浪费。
  • 优势:当Node1发生故障时,Node2能彻底接管应用,而且能保证应用运行时的对处理能力要求。

 3、高可扩展性集群
     这里指带有负载均衡策略(算法)的服务器群集技术。带负载均衡集群为企业需求提供了更实用的方案,它使负载能够在计算机集群中尽量平均地分摊处理。而须要均衡的多是应用程序处理负载或是网络流量负载。该方案很是适合于运行同一组应用程序的节点。每一个节点均可以处理一部分负载,而且能够在节点之间动态分配负载,以实现平衡。对于网络流量也是如此。一般,单个节点对于太大的网络流量没法迅速处理,这就须要将流量发送给在其它节点。还能够根据每一个节点上不一样的可用资源或网络的特殊环境来进行优化。
  负载均衡集群在多节点之间按照必定的策略(算法)分发网络或计算处理负载。负载均衡创建在现有网络结构之上,它提供了一种廉价有效的方法来扩展服务器带宽,增长吞吐量,提升数据处理能力,同时又能够避免单点故障。
前面已经说过负载均衡的做用是在多个节点之间按照必定的策略(算法)分发网络或计算处理负载。负载均衡能够采用软件和硬件来实现。通常的框架结构能够参考下图。
  

 后台的多个Web节点上面有相同的Web应用,用户的访问请求首先进入负载均衡分配节点(多是软件或者硬件),由它根据负载均衡策略(算法)合理地分配给某个Web应用节点。每一个Web节点相同的内容作起来不难,因此选择负载均衡策略(算法)是个关键问题。下面会专门介绍均衡算法。

  web负载均衡的做用就是把请求均匀的分配给各个节点,它是一种动态均衡,经过一些工具实时地分析数据包,掌握网络中的数据流量情况,把请求理分配出去。对于不一样的应用环境(如电子商务网站,它的计 算负荷大;再如网络数据库应用,读写频繁,服务器的存储子系统系统面临很大压力;再如视频服务应用,数据传输量大,网络接口负担重压。),使用的均衡策略(算法)是不一样的。 因此均衡策略(算法)也就有了多种多样的形式,广义上的负载均衡既能够设置专门的网关、负载均衡器,也能够经过一些专用软件与协议来实现。在OSI七层协议模型中的第二(数据链路层)、第三(网络层)、第四(传输层)、第七层(应用层)都有相应的负载均衡策略(算法),在数据链路层上实现负载均衡的原理是根据数据包的目的MAC地址选择不一样的路径;在网络层上可利用基于IP地址的分配方式将数据流疏通到多个节点;而传输层和应用层的交换(Switch),自己即是一种基于访问流量的控制方式,可以实现负载均衡。
   目前,基于负载均衡的算法主要有三种:轮循(Round-Robin)、最小链接数(Least Connections First),和快速响应优先(Faster Response Precedence)。
  ①轮循算法,就是未来自网络的请求依次分配给集群中的节点进行处理。
  ②最小链接数算法,就是为集群中的每台服务器设置一个记数器,记录每一个服务器当前的链接数,负载均衡系统老是选择当前链接数最少的服务器分配任务。 这要比"轮循算法"好不少,由于在有些场合中,简单的轮循不能判断哪一个节点的负载更低,也许新的工做又被分配给了一个已经很忙的服务器了。
  ③快速响应优先算法,是根据群集中的节点的状态(CPU、内存等主要处理部分)来分配任务。 这一点很难作到,事实上到目前为止,采用这个算法的负载均衡系统还不多。尤为对于硬件负载均衡设备来讲,只能在TCP/IP协议方面作工做,几乎不可能深刻到服务器的处理系统中进行监测。可是它是将来发展的方向。

 
 上面是负载均衡经常使用的算法,基于以上负载均衡算法的使用方式上,又分为以下几种:

  一、DNS轮询
  
最先的负载均衡技术是经过DNS来实现的,在DNS中为多个地址配置同一个名字,于是查询这个名字的客户机将获得其中一个地址,从而使得不一样的客户访问不一样的服务器,达到负载均衡的目的。

   DNS负载均衡是一种简单而有效的方法,可是它不能区分服务器的差别,也不能反映服务器的当前运行状态。当使用DNS负载均衡的时候,必须尽可能保证不一样的客户计算机能均匀得到不一样的地址。因为DNS数据具有刷新时间标志,一旦超过这个时间限制,其余DNS服务器就须要和这个服务器交互,以从新得到地址数据,就有可能得到不一样IP地址。所以为了使地址能随机分配,就应使刷新时间尽可能短,不一样地方的DNS服务器能更新对应的地址,达到随机得到地址,然而将过时时间设置得太短,将使DNS流量大增,而形成额外的网络问题。DNS负载均衡的另外一个问题是,一旦某个服务器出现故障,即便及时修改了DNS设置,仍是要等待足够的时间(刷新时间)才能发挥做用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器
  二、反向代理服务器
   
使用代理服务器,能够将请求转发给内部的服务器,使用这种加速模式显然能够提高静态网页的访问速度。然而,也能够考虑这样一种技术,使用代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。

   这种代理方式与普通的代理方式有所不一样,标准代理方式是客户使用代理访问多个外部服务器,而这种代理方式是代理多个客户访问内部服务器,所以也被称为反向代理模式。虽然实现这个任务并不算是特别复杂,然而因为要求特别高的效率,实现起来并不简单。

   使用反向代理的好处是,能够将负载均衡和代理服务器的高速缓存技术结合在一块儿,提供有益的性能。然而它自己也存在一些问题,首先就是必须为每一种服务都专门开发一个反向代理服务器,这就不是一个轻松的任务。

  代理服务器自己虽然能够达到很高效率,可是针对每一次代理,代理服务器就必须维护两个链接,一个对外的链接,一个对内的链接,所以对于特别高的链接请求,代理服务器的负载也就很是之大。反向代理方式下能应用优化的负载均衡策略,每次访问最空闲的内部服务器来提供服务。可是随着并发链接数量的增长,代理服务器自己的负载也变得很是大,最后反向代理服务器自己会成为服务的瓶颈。
 
  三、
地址转换网关
    支持负载均衡的地址转换网关,能够将一个外部IP地址映射为多个内部IP地址,对每次TCP链接请求动态使用其中一个内部地址,达到负载均衡的目的。不少硬件厂商将这种技术集成在他们的交换机中,做为他们第四层交换的一种功能来实现,通常采用随机选择、根据服务器的链接数量或者响应时间进行选择的负载均衡策略来分配负载。因为地址转换相对来说比较接近网络的低层,所以就有可能将它集成在硬件设备中,一般这样的硬件设备是局域网交换机。并发

 

http://www.cnblogs.com/lovingprince/archive/2008/11/13/2166350.html

负载均衡

http://blog.csdn.net/lovingprince/article/details/3290916框架