精华内容
下载资源
问答
  • WEB集群与负载均衡

    千次阅读 2014-08-21 17:26:25
    Web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器... 而负载均衡的任务就是负责多个服务器之间(集群内)实现合理的任务分配,使这些服务器(集群)不会出现因某一台超负荷、而其他的服

       原文参考:http://www.cnblogs.com/lovingprince/archive/2008/11/13/2166350.html 

       Web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器一样,这多台服务器共同来为客户提供更高性能的服务。集群更标准的定义是:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理,此单一系统为客户工作站提供高可靠性的服务。

        而负载均衡的任务就是负责多个服务器之间(集群内)实现合理的任务分配,使这些服务器(集群)不会出现因某一台超负荷、而其他的服务器却没有充分发挥处理能力的情况。负载均衡有两个方面的含义:首先,把大量的并发访问或数据流量分担到多台节点上分别处理,减少用户等待响应的时间;其次,单个高负载的运算分担到多台节点上做并行处理,每个节点设备处理结束后,将结果汇总,再返回给用户,使得信息系统处理能力可以得到大幅度提高
        因此可以看出,集群和负载均衡有本质上的不同,它们是解决两方面问题的不同方案,不要混淆。

        
        集群技术可以分为三大类:
        1、高性能性集群(HPC Cluster)
        2、高可用性集群(HA Cluster)
        3、高可扩展性集群
        

     1、高性能性集群(HPC Cluster)

         指以提高科学计算能力为目标的集群技术。该集群技术主要用于科学计算,这里不打算介绍,如果感兴趣可以参考相关的资料。

     2、高可用性集群(HA Cluster)

         指为了使群集的整体服务尽可能可用,减少服务宕机时间为目的的集群技术。如果高可用性集群中的某节点发生了故障,那么这段时间内将由其他节点代替它的工作。当然对于其他节点来讲,负载相应的就增加了。
        为了提高整个系统的可用性,除了提高计算机各个部件的可靠性以外,一般情况下都会采用该集群的方案。
        对于该集群方案,一般会有两种工作方式:
         ①主-主(Active-Active)工作方式
           这是最常用的集群模型,它提供了高可用性,并且在只有一个节点时也能提供可以接受的性能,该模型允许最大程度的利用硬件资源。每个节点都通过网络对客户机提供资源,每个节点的容量被定义好,使得性能达到最优,并且每个节点都可以在故障转移时临时接管另一个节点的工作。所有的服务在故障转移后仍保持可用,但是性能通常都会下降。
         

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

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

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

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

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

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

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

     3、高可扩展性集群

         这里指带有负载均衡策略(算法)的服务器群集技术。带负载均衡集群为企业需求提供了更实用的方案,它使负载可以在计算机集群中尽可能平均地分摊处理。而需要均衡的可能是应用程序处理负载或是网络流量负载。该方案非常适合于运行同一组应用程序的节点。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载, 以实现平衡。对于网络流量也是如此。通常,单个节点对于太大的网络流量无法迅速处理,这就需要将流量发送给在其它节点。还可以根据每个节点上不同的可用资源或网络的特殊环境来进行优化。

      负载均衡集群在多节点之间按照一定的策略(算法)分发网络或计算处理负载。负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法来扩展服务器带宽,增加吞吐量,提高数据处理能力,同时又可以避免单点故障。

    4、负载均衡策略

    面已经说过负载均衡的作用是在多个节点之间按照一定的策略(算法)分发网络或计算处理负载。负载均衡可以采用软件和硬件来实现。一般的框架结构可以参考下图。
       

     后台的多个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连接请求动态使用其中一个内部地址,达到负载均衡的目的。很多 硬件厂商将这种技术集成在他们的交换机中,作为他们第四层交换的一种功能来实现,一般采用随机选择、根据服务器的连接数量或者响应时间进行选择的负载均衡 策略来分配负载。由于地址转换相对来讲比较接近网络的低层,因此就有可能将它集成在硬件设备中,通常这样的硬件设备是局域网交换机。

    展开全文
  • web服务的负载均衡

    2011-12-12 10:05:41
    负载均衡技术作用:  即将负载量平摊到多个内部服务器上(服务器集合上),增加web服务质量,扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性.  负载均衡的实现可以...
     负载均衡技术作用: 
          即将负载量平摊到多个内部服务器上(服务器集合上),增加web服务质量,扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性.

         负载均衡的实现可以分为软件均衡和硬件均衡,当然硬件均衡就是使用一些通信设备制造商的负载均衡设备,较多使用的是软件均衡。

     

          负载均衡技术实现原理与类型:

    1. 基于DNS的负载均衡
    通过DNS服务中的随机名字解析来实现负载均衡,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,他们也就访问不同地址上的Web服务器,从而达到负载均衡的目的。如:DNS Load Balance

    2. 反向代理负载均衡
        使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。Apusic负载均衡器就属于这种类型的。

    详细实现:

       反向代理可以说是负载均衡的手段之一,用于代理请求和转发,通常来说,负载均衡的普遍做法就是N台平行的Web Server,前端架一台Reverse Proxy Server(反向代理服务器),选用一个合适的算法作为转发依据,实现N台Web Server均分处理用户请求。

          这种均分也存在两种情况:一种就是简单的处理数量的均分,一种则是从处理能力上来均分(可以达到真正意义上的运算能力和吞吐量的均衡),这些是取决于选用的算法。

          Web Server这一端采用平行架构,也会带来一些问题,比如用户会话,当一个用户首次请求被路由到第一台Server上,那么当前会话便会创建在这台Server上,下一次请求则有可能被路由至另外一台机器,这样便造成会话丢失。

          要解决这个问题,也有两种主要的方法:

          一是N台Server共用一台会话服务器(如ASP.NET的会话服务器)或是构建分布式缓存服务器等以实现会话(缓存)和Web Server的分离。

          二是在代理服务器上作改动,实现基于IP的路由算法,让来自同一个IP的访问总是被代理至同一台webserver,这样对于后端就完全透明,不侵入原有的Web架构,但他同样存在问题,比如这个方法要求你的代理服务器必须位于你整个架构的最前端,否则它是无法获得真实的访问者IP的(比如代理服务器之前还有一层转发)。

    3. 基于NAT的负载均衡技术
    网络地址转换为在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后外部网络中的计算机就各自与自己转换得到的地址上服务器进行通信,从而达到负载分担的目的。

    展开全文
  • 前言 物联网如今是一个大的趋势,但是概念还比较新颖。大家对这一块的技术积累也比较匮乏,借此前段时间摩拜单车出现了大规模瘫痪的现象。我们今天来讨论一下物联网项目的...tcp Client/server 最大连接数http://...

    前言

    物联网如今是一个大的趋势,但是概念还比较新颖。大家对这一块的技术积累也比较匮乏,借此前段时间摩拜单车出现了大规模瘫痪的现象。我们今天来讨论一下物联网项目的开发方式。

    关于tcp/ip 相关的知识点

    tcp三次握手,四次挥手
    http://blog.csdn.net/whuslei/article/details/6667471
    tcp Client/server 最大连接数
    http://blog.csdn.net/huangjin0507/article/details/52399957
    close_wait问题处理方案
    http://www.cnblogs.com/sunxucool/p/3449068.html

    socket通讯的单机瓶颈

    物联网的项目socket使用方式有两种:

    1. 短连接的socket请求
    2. 维持socket长连接的请求

    对于socket短链接来说就好比是http请求,请求服务器,服务器返回数据以后请求管道就关闭了,服务器与客户端的链接就释放了。但是对于socket长链接就不同了,当设备与服务器建立连接以后就要一直保持连接,或者说保持较长时间的链接,那么就会大量消耗服务器的资源。若存在大量的这样的请求以后服务器终究会受不了垮掉。通过对TcpClient/server最大连接数我们得知单机socket服务是存在最大链接数限制。尽管理论值很大,但还要考虑到实际服务器的内存/cpu/带宽等条件,我们不可能指望单机承载特别大的链接请求。

    该如何负载均衡socket长连接的请求

    提到负载均衡大家可能会想到很多负载均衡的框架,比如说比较出名的:nginx。但是悲催的是他是基于转发的方式,不能应用在socket长链接请求上。在这一块目前还没有特别优秀的处理框架,而且从技术角度来分析也不可能存在。那我们只能自己想办法了。

    socket分发服务架构图

    1、 设备请求分发服务器,分发服务器返回有效的socket服务器ip与port,然后断开连接。
    a) 设备与服务器建立连接。
    b) 服务器接收到连接请求后,立即将分配好的socket服务器ip与port信息响应给设备。
    c) 服务器主动断开socket连接。
    2、 设备得到ip与port以后,设备去连接socket服务器,然后与其进行协议通讯。
    a) 设备连接到socket服务器。
    b) socket服务器响应连接成功响应信息。
    c) 设备与socket服务器保持长链接通讯。

    *. 若设备未收到连接成功响应则再次尝试连接,若三次请求依旧没有成功建立连接,那么设备需要去请求分发服务器然后再重新上述操作。
    *. 当设备在异常情况下链接不上socket服务器时,依旧尝试三次若不能成功,则直接请求分发服务器,然后再重复上述操作。

    分发服务器处理业务

    我们来看一下分发服务器该处理的业务:

    
        @Override
        public void channelActive(ChannelHandlerContext ctx) throws Exception {
    
            //todo 根据自己的负载情况获取相应的socket服务器信息
            String ip = "192.168.1.188:2030";
    
            SocketUtils.send(ctx,ip.getBytes());
            ctx.close();
        }
        
    

    *. ip的获取需要根据自己的业务来完成。

    总结

    我们通过这样的方式就可以轻松的解决大量设备与服务器通讯的问题,若后面有更多的设备请求只需添加更多的socket服务器即可。当然可能大家担心分发服务器受不了,其实这是多余的,因为分发服务器只做转发,而且完成处理以后就直接把链接给释放,并且当设备拿到socket服务器的ip地址以后就将不在访问分发服务器了,它的压力是可控的不会特别也不会频繁。

    关于distribute-netty: 该demo仅仅用于说明分发服务器的工作原理,具体的业务实现还需要根据自己的业务来完成。

    转自:https://my.oschina.net/oswl/blog/967828?from=singlemessage&isappinstalled=0

     

    对于分发服务器的设计还可以采用web服务方式,这样相对容易做成负载均衡。不过这个会增加前端设备成本,需要先采用http请求获取业务服务器ip、端口,再使用socket长连接方式连接业务服务器。

    展开全文
  • 负载均衡(Load Balance)网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加...

    集群(Cluster)
    所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。

    负载均衡(Load Balance)
    网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性。

    特点
    (1)高可靠性(HA)。利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。
    (2)高性能计算(HP)。即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析、化学分析等。
    (3)负载平衡。即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。

    LVS系统结构与特点
    1. Linux Virtual Server:简称LVS。是由中国一个Linux程序员章文嵩博士发起和领导的,基于Linux系统的服务器集群解决方案,其实现目标是创建一个具有良好的扩展性、高可靠性、高性能和高可用性的体系。许多商业的集群产品,比如RedHat的Piranha、 Turbo Linux公司的Turbo Cluster等,都是基于LVS的核心代码的。
    2. 体系结构:使用LVS架设的服务器集群系统从体系结构上看是透明的,最终用户只感觉到一个虚拟服务器。物理服务器之间可以通过高速的 LAN或分布在各地的WAN相连。最前端是负载均衡器,它负责将各种服务请求分发给后面的物理服务器,让整个集群表现得像一个服务于同一IP地址的虚拟服务器。
    3. LVS的三种模式工作原理和优缺点: Linux Virtual Server主要是在负载均衡器上实现的,负载均衡器是一台加了 LVS Patch的2.2.x版内核的Linux系统。LVS Patch可以通过重新编译内核的方法加入内核,也可以当作一个动态的模块插入现在的内核中。
    负载均衡器可以运行在以下三种模式下:
    (1)Virtual Server via NAT(VS-NAT):用地址翻译实现虚拟服务器。地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址。外界看起来包是来自地址转换器本身,当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点。优点是节省IP 地址,能对内部进行伪装;缺点是效率低,因为返回给请求方的流量经过转换器。
    (2)Virtual Server via IP Tunneling (VS-TUN):用IP隧道技术实现虚拟服务器。这种方式是在集群的节点不在同一个网段时可用的转发机制,是将IP包封装在其他网络流量中的方法。为了安全的考虑,应该使用隧道技术中的VPN,也可使用租用专线。 集群所能提供的服务是基于TCP/IP的Web服务、Mail服务、News服务、DNS服务、Proxy服务器等等.
    (3)Virtual Server via Direct Routing(VS-DR):用直接路由技术实现虚拟服务器。当参与集群的计算机和作为控制管理的计算机在同一个网段时可以用此法,控制管理的计算机接收到请求包时直接送到参与集群的节点。优点是返回给客户的流量不经过控制主机,速度快开销少。
    以四台服务器为例实现负载均衡:

    安装配置LVS
    1. 安装前准备:
    (1)首先说明,LVS并不要求集群中的服务器规格划一,相反,可以根据服务器的不同配置和负载状况,调整负载分配策略,充分利用集群环境中的每一台服务器。如下表:
    Srv Eth0 Eth0:0 Eth1 Eth1:0
    vs1 10.0.0.1 10.0.0.2 192.168.10.1 192.168.10.254
    vsbak 10.0.0.3 192.168.10.102
    real1 192.168.10.100
    real2 192.168.10.101
    其中,10.0.0.2是允许用户访问的IP。
    (2)这4台服务器中,vs1作为虚拟服务器(即负载平衡服务器),负责将用户的访问请求转发到集群内部的real1,real2,然后由real1,real2分别处理。 Client为客户端测试机器,可以为任意操作系统。
    (3)所有OS为redhat6.2,其中vs1 和vsbak 的核心是2.2.19, 而且patch过ipvs的包, 所有real server的Subnet mask 都是24位, vs1和vsbak 的10.0.0. 网段是24 位。
    2.理解LVS中的相关术语
    (1) ipvsadm :ipvsadm是LVS的一个用户界面。在负载均衡器上编译、安装ipvsadm。
    (2) 调度算法: LVS的负载均衡器有以下几种调度规则:Round-robin,简称rr;weighted Round-robin,简称wrr;每个新的连接被轮流指派到每个物理服务器。Least-connected,简称lc;weighted Least-connected,简称wlc,每个新的连接被分配到负担最小的服务器。
    (3) Persistent client connection,简称pcc,(持续的客户端连接,内核2.2.10版以后才支持)。所有来自同一个IP的客户端将一直连接到同一个物理服务器。超时时间被设置为360秒。Pcc是为https和cookie服务设置的。在这处调度规则下,第一次连接后,所有以后来自相同客户端的连接(包括来自其它端口)将会发送到相同的物理服务器。但这也会带来一个问题,因为大约有25%的Internet 可能具有相同的IP地址。
    (4) Persistent port connection调度算法:在内核2.2.12版以后,pcc功能已从一个调度算法(你可以选择不同的调度算法:rr、wrr、lc、wlc、pcc)演变成为了一个开关选项(你可以让rr、 wrr、lc、wlc具备pcc的属性)。在设置时,如果你没有选择调度算法时,ipvsadm将默认为wlc算法。 在Persistent port connection(ppc)算法下,连接的指派是基于端口的,例如,来自相同终端的80端口与443端口的请求,将被分配到不同的物理服务器上。不幸的是,如果你需要在的网站上采用cookies时将出问题,因为http是使用80端口,然而cookies需要使用443端口,这种方法下,很可能会出现cookies不正常的情况。
    (5)Load Node Feature of Linux Director:让Load balancer 也可以处理users 请求。
    (6)IPVS connection synchronization。
    (7)ARP Problem of LVS/TUN and LVS/DR:这个问题只在LVS/DR,LVS/TUN 时存在。
    3. 配置实例
    (1) 需要的软件包和包的安装:
    I. piranha-gui-0.4.12-2*.rpm (GUI接口cluster设定工具);
    II. piranha-0.4.12-2*.rpm;
    III. ipchains-1.3.9-6lp*.rpm (架设NAT)。
    取得套件或mount到光盘,进入RPMS目录进行安装:
    # rpm -Uvh piranha*
    # rpm -Uvh ipchains*
    (2) real server群:
    真正提供服务的server(如web server),在NAT形式下是以内部虚拟网域的形式,设定如同一般虚拟网域中Client端使用网域:192.168.10.0/24 架设方式同一般使用虚拟IP之局域网络。
    a. 设网卡IP
    real1 :192.168.10.100/24
    real2 :192.168.10.101/24
    b.每台server均将default gateway指向192.168.10.254。 192.168.10.254为该网域唯一对外之信道,设定在virtual server上,使该网域进出均需通过virtual server 。
    c.每台server均开启httpd功能供web server服务,可以在各real server上放置不同内容之网页,可由浏览器观察其对各real server读取网页的情形。
    d.每台server都开启rstatd、sshd、rwalld、ruser、rsh、rsync,并且从Vserver上面拿到相同的lvs.conf文件。
    (3) virtual server:
    作用在导引封包的对外主机,专职负责封包的转送,不提供服务,但因为在NAT型式下必须对进出封包进行改写,所以负担亦重。
    a.IP设置:
    对外eth0:IP:10.0.0.1 eth0:0 :10.0.0.2 
    对内eth1:192.168.10.1 eth1:0 :192.168.10.254
    NAT形式下仅virtual server有真实IP,real server群则为透过virtual server.
    b.设定NAT功能
    # echo 1 >; /proc/sys/net/ipv4/ip_forward
    # echo 1 >; /proc/sys/net/ipv4/ip_always_defrag
    # ipchains -P forward MASQ
    c.设定piranha 进入X-window中 (也可以直接编辑/etc/lvs.cf )
    a).执行面板系统piranha
    b).设定“整体配置”(Global Settings) 主LVS服务器主机IP:10.0.0.2, 选定网络地址翻译(预设) NAT路径名称: 192.168.10.254, NAT 路径装置: eth1:0
    c).设定虚拟服务器(Virtual Servers) 添加编辑虚拟服务器部分:(Virtual Server)名称:(任意取名);应用:http;协议: tcp;连接:80;地址:10.0..0.2;装置:eth0:0; 重入时间:180 (预设);服务延时:10 (预设);加载监控工具:ruptime (预设);调度策略:Weighted least-connections; 持续性:0 (预设); 持续性屏蔽: 255.255.255.255 (预设); 按下激活:实时服务器部分:(Real Servers); 添加编辑:名字:(任意取名); 地址: 192.168.10.100; 权重:1 (预设) 按下激活
    另一架real server同上,地址:192.168.10.101。
    d). 控制/监控(Controls/Monitoring) 控制:piranha功能的激活与停止,上述内容设定完成后即可按开始键激活piranha.监控器:显示ipvsadm设定之routing table内容 可立即更新或定时更新。
    (4)备援主机的设定(HA)
    单一virtual server的cluster架构virtual server 负担较大,提供另一主机担任备援,可避免virtual server的故障而使对外服务工作终止;备份主机随时处于预备状态与virtual server相互侦测
    a.备份主机:
    eth0: IP 10.0.0.3
    eth1: IP 192.168.10.102 同样需安装piranha,ipvsadm,ipchains等套件
    b.开启NAT功能(同上面所述)。
    c.在virtual server(10.0.0.2)主机上设定。
    a).执行piranha冗余度 ;
    b).按下“激活冗余度”;
    冗余LVS服务器IP: 10.0.0.3;HEARTBEAT间隔(秒数): 2 (预设)
    假定在…秒后进入DEAD状态: 5 (预设); HEARTBEAT连接埠: 539 (预设)
    c).按下“套用”;
    d).至“控制/监控”页,按下“在当前执行层添加PULSE DEAMON” ,按下“开始”;
    e).在监控器按下“自动更新”,这样可由窗口中看到ipvsadm所设定的routing table,并且动态显示real server联机情形,若real server故障,该主机亦会从监视窗口中消失。
    d.激活备份主机之pulse daemon (执行# /etc/rc.d/init.d/pulse start)。
    至此,HA功能已经激活,备份主机及virtual server由pulse daemon定时相互探询,一但virtual server故障,备份主机立刻激活代替;至virtual server 正常上线后随即将工作交还virtual server。

    LVS测试
    经过了上面的配置步骤,现在可以测试LVS了,步骤如下:
    1. 分别在vs1,real1,real2上运行/etc/lvs/rc.lvs_dr。注意,real1,real2上面的/etc/lvs 目录是vs2输出的。如果您的NFS配置没有成功,也可以把vs1上/etc/lvs/rc.lvs_dr复制到real1,real2上,然后分别运行。确保real1,real2上面的apache已经启动并且允许telnet。
    2. 测试Telnet:从client运行telnet 10.0.0.2, 如果登录后看到如下输出就说明集群已经开始工作了:(假设以guest用户身份登录)
    [guest@real1 guest]$——说明已经登录到服务器real1上。
    再开启一个telnet窗口,登录后会发现系统提示变为:
    [guest@real2 guest]$——说明已经登录到服务器real2上。
    3. 测试http:从client运行iexplore http://10.0.0.2
    因为在real1 和real2 上面的测试页不同,所以登录几次之后,显示出的页面也会有所不同,这样说明real server 已经在正常工作了。

    展开全文
  • web技术之负载均衡与缓存技术

    千次阅读 2015-09-30 16:56:35
    本文档用于指导对日上亿基本web访问,web框架技术如何来设计的
  • 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
  • Web负载均衡

    千次阅读 2011-12-01 20:26:19
     对Web站点扩展一开始不宜过早,除非是基于高可用性和就近部署的考虑。但对于架构师而言,在架构设计之初就要有扩展的计划,关键是要清楚何时进行扩展。这里先介绍的是水平扩展,所谓的扩展是通过扩展规模来提升...
  • WEB 集群与负载均衡(一)基本概念-下

    千次阅读 2008-11-13 14:26:00
     后台的多个Web节点上面有相同的Web应用,用户的访问请求首先进入负载均衡分配节点(可能是软件或者硬件),由它根据负载均衡策略(算法)合理地分配给某个Web应用节点。每个Web节点相同的内容做起来不难,所以选择...
  • HAproxy+Nginx负载均衡集群HAproxy概述关于4/7层负载均衡HAProxy Session亲缘性HAproxy特点HAproxy配置Web1和Web2创建测试页面安装HAproxy配置HAproxy测试结果HAproxy配置文件五部分HAproxy状态Nginx七层负载均衡...
  • Web 性能优化 —— 负载均衡 一、软件负载均衡技术  Linux 集群的分类:  高可用性集群:运行于两个或多个节点上,目的在于某节点系统出现故障时在其他节点的支持下仍然可继续对外提供相应的服务。这...
  • Web负载均衡的几种实现方式

    万次阅读 多人点赞 2014-04-23 12:09:12
    摘要:  负载均衡(Load Balance)是集群技术(Cluster)的一种应用。...根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。
  • 实现四台Web服务器的负载均衡

    千次阅读 2004-11-29 14:13:00
    实现四台Web服务器的负载均衡 集群的概念容易和一些概念(SMP 、NUMA、MPP、分布处理)相混淆,其主要区别在资源被共享和复制的级别不同。它们是按SMP、NUMA、MPP、集群、分布处理从最紧密到最松散的排列。 SMP(多...
  • 在云环境下,我们实现创建多个虚拟机是非常方便的,同样,我们可以在这么多虚拟机基础上搭建Web应用的负载均衡,这样可以保障Web应用的高效稳定运行,这也是云环境非常常见的应用场景。 Nginx
  • 一、环境准备 服务器名称 系统版本 预装软件 IP地址 Nginx服务器 CentOS 7 最小安装 ...Web服务器A CentOS 7 最小安装 tomcat+jdk 192.168.159.128 Web服务器B CentOS 7 最小安装 tomcat+jdk 192.168.1
  • 0.负载均衡 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 负载均衡,英文名称为Load Balance,...
  • web应用负载均衡策略

    千次阅读 2016-03-02 15:18:53
    1. 名词解释 1. 正向代理与反向代理 简单说 我们内网访问facebook用的代理就...这就叫负载均衡。反向代理一般就是来干这个的。 代理服务器来接受外部的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上
  • 一、涉及到的几个组件1.1、apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安全Socket层(SSL)等等,目前...
  • Web应用的负载均衡、集群、高可用的解决方案---解决高并发 一、相关术语: 1.高并发:由于网站PV(page view)访问量大,单台服务器承载大量访问所带来的压力.所以利用负载均衡技术、反向代理技术、数据库集群、web...
  • nginx 实现Web应用程序的负载均衡

    千次阅读 2015-04-13 22:17:10
    nginx 实现Web应用程序的负载均衡
  • Web2.0负载均衡应用优化

    千次阅读 2008-11-05 22:50:00
    一、Web应用的发展-Web2.0 什么是Web2.0 Web2.0是2003年之后互联网的热门概念之一,不过目前对什么是Web2.0并没有很严格的定义。一般来说Web2.0是相对Web1.0的新的一类Internet应用的统称。Web1.0的主要特点在于...
  • 浅谈web应用的负载均衡、集群、高可用(HA)解决方案 博客分类:  架构 集群负载均衡     声明:以下仅为个人的一些总结和随写,如有不对之处,还请看到的网友指出,以免误导。 (详细的配置方案请google,...
  • 【转载自】http://blog.csdn.net/u010028869/article/details/50485245 拓扑环境 服务器名称 系统版本 预装软件 IP地址 Nginx服务器 CentOS 7 最小安装 ...Web服务器A CentOS 7 最小安装 tomcat+jdk
  • 拓扑环境 服务器名称 系统版本 预装软件 IP地址 Nginx服务器 ... Web服务器A CentOS 7 最小安装 tomcat+jdk 192.168.22.229 Web服务器B CentOS 7 最小安装 tomcat+jdk 192.168.22.230 服务器
  • 最近项目测试并发,发现一个有意思的...所以查了下资料看了下 可以用 Nginx 做负载均衡 服务器 然后去访问 后面的 webServer 服务器, 之所以使用 Nginx 做负载均衡 ,是应为 Nginx 服务器 支持的 并发量 很强大 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 118,893
精华内容 47,557
关键字:

web长连接负载均衡