`
oywl2008
  • 浏览: 1051297 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

 
阅读更多

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

       这是目前运用最为广泛的双节点双应用的Active/Active模式。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

 

 

分享到:
评论

相关推荐

    linux下tomcat集群的负载均衡

    1. **负载均衡**:指通过在多台服务器之上增加一台负载均衡服务器来实现用户请求的均衡分配,提高集群的整体处理能力。 - **优点**:提升 WEB 访问流畅度,确保用户请求均匀分配至每个节点。 - **缺点**:不适用于...

    lvs集群配置

    LVS(Linux Virtual Server)是一种基于Linux的集群配置方案,特别适用于Web集群应用。它通过构建虚拟服务器集群,提高系统的可伸缩性和可用性,同时降低单点故障的风险。 #### 二、LVS的三种模式工作原理 LVS提供...

    中软Linux负载均衡集群系统解决方案

    该方案通过使用Linux Virtual Server (LVS) 架构,能够有效地分散来自客户端的访问压力至多个真实的服务器节点上,从而提高整体系统的吞吐量、可靠性和冗余度。此外,LVS还能够通过较低的成本实现高端服务器的性能。...

    详解nginx 配置多个tomcat共用80端口

    当我们需要在一台服务器上部署多个Web应用时,通常会遇到端口冲突的问题,因为默认情况下HTTP协议使用的是80端口,如果服务器上运行的多个应用也试图使用同一个端口,就会产生冲突。这就需要通过反向代理服务器来...

    了解cpu IO 网络 应用

    集群技术是大型系统中的常见解决方案,它通过将多个独立的计算节点组成一个整体,实现高可用性和负载均衡。了解不同类型的集群架构(如主-从、对等、热备等)及其优缺点,可以帮助我们构建稳定、可扩展的分布式系统...

    深入剖析tomcat

    Tomcat支持集群部署,通过复制Session数据和负载均衡策略,可以在多台服务器之间分散负载,提高应用的可用性和可伸缩性。 9. **热部署与热更新** Tomcat支持Web应用的热部署和热更新,无需重启服务器即可更新应用...

    集群、负载均衡及分布式系统架构

    如一个提供Web服务的集群,对外界来看是一个大Web服务器。不过集群的节点也可以单独提供服务。集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种...

    tomcat工作原理-组件

    这使得在多台服务器之间分布请求成为可能,提高了系统的健壮性。 10. **安全管理** Tomcat提供了多种安全机制,如SSL/TLS加密、用户认证和授权、访问控制列表等。通过server.xml和context.xml配置,可以实现细粒度...

    apache-tomcat-7.0.70-src

    8. **Clustering and Load Balancing**:虽然Tomcat主要是一个单机服务器,但7.0版本引入了集群和负载均衡的支持,可以实现多个Tomcat实例之间的会话复制和请求分发。 通过阅读和分析`apache-tomcat-7.0.70-src`的...

    数字化校园系统简介.docx

    统一身份认证系统是建立一个对全校各类用户实现身份识别、授权和认证的系统,通过统一身份认证能够实现同一用户登录一次后可在多个应用系统之间实现漫游,可根据其权限访问相应的信息资源。 2.3 统一信息门户 统一...

    http与tomcat.rar

    而Tomcat则是Apache软件基金会的一个开源项目,是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的部分标准的轻量级Web应用服务器,尤其适用于中小型Java Web应用。 1. **HTTP基础**: - **请求与响应...

    Akka说明文档

    在部署方案上,Akka支持集群部署,可以将多个Akka节点组成一个集群,通过Akka Remoting实现节点间的消息传递,从而构建一个可扩展的分布式系统。 #### 2. Akka核心概念与功能 ##### 2.1 Actor Systems Actor ...

    HAProxy部署手册.docx

    通过引入HAProxy,可以有效减少底层交换机和网络结构对Web集群的影响,支持不同硬件的不同权重负载均衡、基于Cookie的负载均衡、实时故障转移等功能,这些都是用户长期期望实现的目标。 #### 二、HAProxy实施部署 ...

    计算机等专业计算机网络习题.doc

    1. 计算机网络定义:计算机网络是由多台自治计算机通过通信设备和线路连接起来,以共享资源为目的的集合。资源包括硬件(如CPU、存储)、软件和数据。联网计算机既可以联网工作,实现数据交换,也可以脱网独立运行,...

    tomcat架构解析_带索引书签目录_刘光瑞(著) .pdf.zip

    7. **虚拟主机**:Tomcat可以配置多个虚拟主机,每个虚拟主机可以独立运行不同的Web应用,通过Host元素在`server.xml`中配置。 8. **性能优化**:优化Tomcat涉及到调整线程池大小、设置合适的内存参数、启用连接池...

    最全Java面试大全.pdf

    如果一个类包含一个或多个抽象方法,那么这个类也必须声明为抽象类。 224. JSP注释可以通过三种方式实现:HTML注释<!-- -->,JSP行内注释%-- --%,和JSP指令注释。 225. JSP和Servlet都是用于开发Web应用的工具,...

    精品资料(2021-2022年收藏)企业网站的规划与建设..doc

    2. **多服务器集群**:通过多台机架服务器实现负载均衡,确保服务稳定。 3. **数据库优化**:选择合适的数据库管理系统,确保数据处理效率和安全性。 4. **内容管理系统**:支持动态内容更新,简化网站维护工作。 5....

    Java学习路线.pdf

    - **应用领域:** Java 在企业级应用、移动应用(尤其是 Android)、Web 开发等领域有着广泛的应用。 - **环境搭建:** 需要安装 JDK(Java Development Kit),配置环境变量。 **2. 基本语法:** - **基本数据...

Global site tag (gtag.js) - Google Analytics