精华内容
下载资源
问答
  • 目前比较常用负载均衡技术
    千次阅读
    2017-01-12 19:53:12
    目前比较常用的负载均衡技术主要有:

    1. 基于DNS的负载均衡
    通过DNS服务中的随机名字解析来实现负载均衡,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的

    客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,他们也就访问不同地址

    上的Web服务器,从而达到负载均衡的目的。

    2. 反向代理负载均衡 (如Apache+JK2+Tomcat这种组合)
    使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载

    均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式

    是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。

    3. 基于NAT(Network Address Translation)的负载均衡技术 (如Linux Virtual Server,简称LVS)网络地址转换为在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问

    地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后外部网络中的计算机就各自与自己转换得到的地址上服务器进行通信,从而达到负载分担的目的。

    (5)

    Apache,Tomcat负载均衡和集群:

    1.

    对请求的处理又有两种不同的方式:负载平衡、状态复制(即集群).
    负载平衡:

    每台服务器都是独立的,只是对请求的负载进行平衡,而不对状态(SESSION)进行复制。
    状态复制(集群):先进行负载平衡,再在各服务器间复制应用状态。

    2.

    apache负载均衡的原理:
    1).
    mod_jk负载平衡原理:
    使用mod_jk默认的以轮循方式进行平衡负载,假设有四个服务器节点,有10个请求,则
    第一个节点会得到1,5,9请求;
    第二个节点会得到2,6,10请求;
    第三个节点会得到3,7请求;
    第四个节点会得到4,8请求;

    2).
    Mod_JK2负载均衡与故障复原:
    Apache httpd是当成web服务器,使用mod_jk2将请求传送给Tomcat,就可以使用mod_jk2的负载均衡与容错功能。

    带有 mod_jk2的Apache(httpd)可以做的事情包括:
    A、将请求分配至一或多个Tomcat实例上你可以在mod_jk2的workers.properties文件中,设定许多Tomcat实例,并赋于每个实例一个lb_factor值,以作为请求分配的加权因子。
    B、侦测Tomcat实例是否失败当Tomcat实例的连接器服务不再响应时,mod_jk2会及时侦测到,并停止将请求送给它。其他的Tomcat 实例则会接受失效实例的负载。
    C、侦测Tomcat实例在失效后的何时恢复因连接器服务失效,而停止将请求分配给Tomcat实例之后,mod_jk2会周期性地检查是否已恢复使用性,并自动将其加入现行的Tomcat实例池中。

    3).
    实践证明,在各应用服务器之间不需要状态复制的情况下,负载平衡可以达到性能的线性增长及更高的并发需求。

    3 集群原理:
    集群方式也是使用这种方法进行平衡。Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制。

    集群与负载均衡的优缺点:
    不足:
    集群不同于负载平衡的是,由于集群服务需要在处理请求之间不断地进行会话复制,复制后的会话将会慢慢变得庞大,因此它的资

    源占用率是非常高的,如果在并发量大的应用中,复制的会话大小会变得相当大,而使用的总内存更是会迅速升高。

    优点:
    但集群的会话复制,增加了系统的高可用性。由于在每台服务器都保存有用户的Session信息,如果服务器群中某台当机,应用可以自动切换到其它服务器上继续运行,而用户的信息不会丢失,这提高了应用的冗错性。

    具体采用负载平衡还是集群,这要看应用的需求了。

    http://www.51testing.com/?uid-423595-action-viewspace-itemid-250255

    更多相关内容
  • 常用负载均衡技术

    2021-09-12 14:44:17
    当用户发现 Web 站点负载量非常大时,应当考虑使用负载均衡技术来将负载平均分摊到多个内部服务器上。如果有多个服务器同时执行某一个任务时,这些服务器就构成一个集群。使用集群技术可以用最少的投资获得接近于...

    负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀地分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。
    当用户发现 Web 站点负载量非常大时,应当考虑使用负载均衡技术来将负载平均分摊到多个内部服务器上。如果有多个服务器同时执行某一个任务时,这些服务器就构成一个集群。使用集群技术可以用最少的投资获得接近于大型主机的性能。
    1.负载均衡技术的类型
    目前,比较常用的负载均衡技术主要有以下几种:
    (1)基于特定服务器软件的负载均衡。很多网络协议都支持“重定向”功能,例如,在 HTTP 协议中支持 Location 指令,接收到这个指令的浏览器将自动重定向到 Location 指明的另一个 URL 上。由于发送 Location 指令比起执行服务请求,对 Web 服务器的负载要小得多,因此可以根据这个功能来设计一种负载均衡的服务器。当 Web 服务器认为自己负载较大的时候,它就不再直接发送回浏览器请求的网页,而是送回一个 Location 指令,让浏览器在服务器集群中的其他服务器上获得所需要的网页。
    在这种方式下,服务器本身必须支持这种功能,然而具体实现起来却有很多困难。例如,一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送 Location 指令?Location 指令和浏览器都没有这方面的支持能力,这样很容易在浏览器上形成一种死循环。因此这种方式实际应用当中并不多见,使用这种方式实现的服务器集群软件也较少。有些特定情况下可以使用 CGI(包括使用 FastCGI 或 mod_perl 扩展来改善性能)来模拟这种方式去分担负载,而 Web 服务器仍然保持简洁、高效的特性。此时,避免 Location 循环的任务将由用户的 CGI 程序来承担。
    (2)基于 DNS(Domain Name Server,域名服务器)的负载均衡。通过 DNS 服务中的随机名字解析来实现负载均衡,在 DNS 服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,它们也就访问不同地址上的 Web 服务器,从而达到负载均衡的目的。
    DNS 负载均衡的优点是简单易行,并且服务器可以位于互联网的任意位置上,当前使用在包括 Yahoo 在内的 Web 站点上。然而它也存在不少缺点,一个缺点是为了保证 DNS 数据及时更新,一般都要将 DNS 的刷新时间设置得较小,但太小就会造成太大的额外网络流量,并且更改了 DNS 数据之后也不能立即生效;另一个缺点是 DNS 负载均衡无法得知服务器之间的差异,它不能做到为性能较好的服务器多分配请求,也不能了解到服务器的当前状态,甚至会出现客户请求集中在某一台服务器上的偶然情况。
    (3)反向代理负载均衡。使用代理服务器可以将请求转发给内部的 Web 服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求均匀地转发给多台内部 Web 服务器,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部 Web 服务器,而这种代理方式是多个客户使用它访问内部 Web 服务器,因此也被称为反向代理模式。
    实现这个反向代理能力并不能算是一个特别复杂的任务,但是在负载均衡中要求特别高的效率,这样实现起来就不是十分简单的事了。每针对一次代理,代理服务器就必须打开两个连接,一个为对外的连接,一个为对内的连接。因此,当连接请求数量非常大的时候,代理服务器的负载也非常大,最后,反向代理服务器会成为服务的瓶颈。例如,使用 Apache 的 mod_rproxy 模块来实现负载均衡功能时,提供的并发连接数量受 Apache 本身的并发连接数量的限制。一般来讲,可以使用它来连接数量不是特别大、但每次连接都需要消耗大量处理资源的站点来进行负载均衡,例如搜寻。
    使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,以提供有益的性能;其具备额外的安全性,外部客户不能直接访问真实的服务器。并且实现起来可以采用较好的负载均衡策略,将负载非常均衡地分给内部服务器,不会出现负载集中到某个服务器的偶然现象。
    在这里插入图片描述
    (4)基于 NAT(Network Address Translation,网络地址转换)的负载均衡技术。网络地址转换指的是在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后,外部网络中的计算机就各自与自己转换得到的地址上的服务器进行通信,从而达到负载分担的目的。
    地址转换可以通过软件方式来实现,也可以通过硬件方式来实现。使用硬件方式进行操作一般称为交换,而当交换必须保存 TCP 连接信息的时候,这种针对 OSI/RM 网络层的操作就被称为第四层交换。支持负载均衡的网络地址转换为第四层交换机的一种重要功能,由于它基于定制的硬件芯片,因此其性能非常优秀,很多交换机声称具备 400MB~ 800MB 的第四层交换能力;然而也有一些资料表明,在如此快的速度下,大部分交换机就不再具备第四层交换能力了,而仅仅支持第三层甚至第二层交换。
    使用软件方式来实现基于网络地址转换的负载均衡则要实际得多,除了一些厂商提供的解决方法之外,更有效的方法是使用免费的自由软件来完成这项任务。其中包括 Linux Virtual Server Project 中的 NAT 实现方式。一般来讲,使用这种软件方式来实现地址转换,中心负载均衡器存在带宽限制,在 100MBps 的快速以太网条件下,能得到最高达 80MBps 的带宽,然而在实际应用中,可能只有 40MBps~60MBps 的可用带宽。
    (5)扩展的负载均衡技术。上面使用网络地址转换来实现负载分担,毫无疑问所有的网络连接都必须通过中心负载均衡器,那么如果负载特别大,以至于后台的服务器的数量不再在是几台、十几台,而是上百台甚至更多,这时,即便是使用性能优秀的硬件交换机也会遇到瓶颈。此时问题将转变为,如何将那么多台服务器分布到各个互联网的多个位置,分散网络负担。当然这可以通过综合使用 DNS 和 NAT 两种方法来实现,然而更好的方式是使用一种半中心的负载均衡方式。
    在这种半中心的负载均衡方式下,即当客户请求发送给负载均衡器的时候,中心负载均衡器将请求打包并发送给某个服务器,而服务器的回应请求不再返回给中心负载均衡器,而是直接返回给客户,因此中心负载均衡器只负责接受并转发请求,其网络负担就较小了。
    2.服务器负载均衡
    服务器负载均衡一般用于提高服务器的整体处理能力,并提高可靠性、可用性和可维护性,最终目的是加快服务器的响应速度,从而提高用户的体验度。
    负载均衡从结构上分为本地负载均衡(Local Server Load Balance)和全域负载均衡(Global Server Load Balance),前者是指对本地的服务器群做负载均衡,后者是指对分别放置在不同的地理位置、有不同的网络及服务器群之间做负载均衡。
    全域负载均衡有以下特点:
    (1)解决网络拥塞问题,服务就近提供,实现地理位置无关性;
    (2)对用户提供更好的访问质量;
    (3)提高服务器响应速度;
    (4)提高服务器及其他资源的利用效率;
    (5)避免了数据中心单点失效。

    展开全文
  • 负载均衡技术(一)———负载均衡技术介绍     本文主要是对负载均衡技术进行一个简单的介绍,并结合在实际生产环境中负载均衡技术的应用情况,让大家对负载均衡技术,以及这一技术在公司的应用情况有一个简单...

    负载均衡技术(一)———负载均衡技术介绍

     

     

    本文主要是对负载均衡技术进行一个简单的介绍,并结合在实际生产环境中负载均衡技术的应用情况,让大家对负载均衡技术,以及这一技术在公司的应用情况有一个简单的了解。

     

    什么是负载均衡技术

     

    负载均衡技术,是现代计算机领域的基础技术之一,其基本原理是通过运行在前面的负载均衡服务器,根据执行的负载均衡算法,将流量分配到后端服务器上,从而提高整个系统的扩展能力,实现服务的并行扩展,同时,负载均衡技术还可以起到对外网屏蔽内网服务器,从而提高系统的可用性。

     

    常用的负载均衡方式有硬件负载均衡和软件负载均衡两种:

     

    • 硬件负载均衡:指的是采用专门负载均衡硬件设备来进行负载均衡操作,由于由专门的硬件设备进行,因此有很强的性能,但缺点是价格昂贵,扩展,升级成本较高,不利于进行二次开发。

    • 软件负载均衡:就是用软件来执行负载均衡操作,虽然性能比不上专门的硬件,但价格相对低廉(不需要专用的硬件),易扩展,便于进行二次开发,现在已经被大量公司采用,用于实际的生产服务环境中。本文的重点就是对于软件负载均衡服务的介绍。

     

    软件负载均衡服务介绍

     

    软件负载均衡服务一般分为两种:四层负载均衡和七层负载均衡,四层和七层指的是负载均衡服务运行的位置,分别对应ISO网络协议中的传输层和网络层。在实际应用中,四层负载均衡一般就是位于层的TCP协议(或者SSL协议)的负载均衡,而七层负载均衡就是HTTP协议(或者HTTPS)协议的负载均衡。

     

    除此之外,还有针对ICMP,POP3邮件协议,针对数据库协议的负载均衡等,但应用最为广泛的,还是基于HTTP和TCP协议负载均衡,这也是由于实际应用环境决定的:HTTP协议是现在应用最为广泛的应用层协议,也是基于“页面”的老一代互联网的基础,得到了极为广泛的应用,可以说,HTTP协议就是互联网技术最重要的协议。而TCP协议作为传输层的基础协议,可以直接兼容应用层的各种协议。在实际的应用场景中,对于web服务,直接使用HTTP负载均衡,而对于需要长连接的,或者其他非HTTP协议的服务,如mysql,redis等,则统一使用TCP负载均衡。

     

    常见的负载均衡服务有Apache,LVS,Nginx,Haproxy等:

     

    • 按照类型看,Apache,Nginx属于七层负载均衡,LVS属于四层负载均衡,Haproxy同时支持四层和七层负载均衡。

    • 按照功能看,LVS,Haproxy是专门的负载均衡服务器,Apache和Nginx除了作为负载均衡服务器外,还可以作为独立的web服务器,直接提供web服务。

     

    负载均衡服务在生产环境中的应用

     

    在一个系统中,负载均衡服务往往是运行在系统最前面的应用,起着承载系统流量,请求转发,负载均衡的作用,下图是公司中常见的两种负载均衡服务的形式:

     

    LVS作为入口的模式

     

    在这种模式下,流量通过外层的LVS做四层负载均衡,然后经过nginx进行七层负载均衡,再转发给后端服务,后端可以根据需要直接接应用服务器或者在继续对接负载均衡服务,具体架构如下图所示:

     

    Alt pic

     

    上图是现在杭研大部分负载均衡服务的应用形式,即通过LVS集群的DR模式将流量分发到公用的Nginx集群,然后对接给后端用户。

     

    场景分析

     

    这种工作模式是针对一般的web应用设计的,LVS的单臂模式可以处理大量流量,而工作与后端的Nginx集群,可以通过限流等方式来防止DDos攻击,而通过共享IP,可以减少对外网IP资源的使用,而Nginx 的热加载功能可以在不更改LVS配置的情况下添加后端的用户服务器。

     

    Haproxy作为入口的模式

     

    这种模式是通过Haproxy进行四层负载均衡,后面对接web服务器或者其他负载均衡服务,架构如下图所示:

     

    Alt pic

     

    场景分析

     

    这种场景主要是针对两种情况:

     

    • 一种是当有大流量上传需求的时候(如网易相册),由于Nginx在处理Post请求的时候会写磁盘,当有大量上传请求的时候可能会造成磁盘写满从而请求失败的情况,因此在处理有大并发,大流量上传的时候,采用的是使用Haproxy集群,工作在七层负载均衡默认,用来处理用户的上传请求。

    • 第二种是直接使用四层负载均衡,由于LVS的DR模式有网络的限制(必须在同一个二层),而且需要修改应用服务器的内容(绑定VIP,设定返回路由,关闭部分ARP响应)。而实际用户的服务器大部分不满足这两个条件,因此需要采用无侵入(基于FULL NAT模式),且无网络要求(基于四层协议)的Haproxy集群来满足这一需求。但是由于Haproxy的负载能力不如LVS(单进程模型,工作在用户模式,双向流量),因此会根据需要搭建多个Hapoxy集群。

    • 在上面两个不同情况下,Haproxy工作的模式不同。在第一种情况,Haproxy工作在七层负载均衡模式下,负责HTTP请求转发。而第二种模式,Haproxy工作在四层负载均衡模式,相当于流量转发的左右,一般用来处理不需要获取原始IP的情况或者流量不是很大的情况。

     

    总结

     

    本文主要介绍了负载均衡服务的基础知识和公司中负载均衡服务的应用情况,在下一篇文章中,会对常用的负载均衡服务器:LVS,Haproxy,Nginx,Apache进行介绍。

    展开全文
  • 常用负载均衡技术

    千次阅读 2011-11-25 09:58:03
    基于四层交换技术负载均衡:  基于四层交换技术负载均衡 ---- 这种技术是在第四层交换机上设置Web服务的虚拟IP地址,这个虚拟IP地址是DNS服务器中解析到的Web服务器的IP地址,对客户端是可见的。  当客户...
    基于四层交换技术的负载均衡:
       基于四层交换技术的负载均衡 ---- 这种技术是在第四层交换机上设置Web服务的虚拟IP地址,这个虚拟IP地址是DNS服务器中解析到的Web服务器的IP地址,对客户端是可见的。
        当客户访问此Web应用时,客户端的Http请求会先被第四层交换机接收到,它将基于第四层交换技术实时检测后台Web服务器的负载,根据设定的算法进行快速交换。常见的算法有轮询、加权、最少连接、随机和响应时间等。


    基于七层交换技术的负载均衡:
       基于七层交换技术的负载均衡 ---- 基于第七层交换的负载均衡技术主要用于实现Web应用的负载平衡和服务质量保证。
       它与第四层交换机比较起来有许多优势:
       第七层交换机不仅能检查 TCP/IP数据包的TCP和UDP端口号,从而转发给后台的某台服务器来处理,而且能从会话层以上来分析Http请求的URL,根据URL的不同将不同的Http请求交给不同的服务器来处理(可以具体到某一类文件,直至某一个文件),甚至同一个URL请求可以让多个服务器来响应以分担负载(当客户访问某一个URL,发起Http请求时,它实际上要与服务器建立多个会话连接,得到多个对象,例如.txt/.gif/.jpg文档,当这些对象都下载到本地后,才组成一个完整的页面)。


    DNS负载均衡:
       DNS负载均衡技术是最早的负载均衡解决方案,它是通过DNS服务中的随机名字解析来实现的,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中的一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,它们也就访问不同地址上的Web 服务器,从而达到负载均衡的目的。
        这种技术的优点是,实现简单、实施容易、成本低、适用于大多数TCP/IP应用;但是,其缺点也非常明显,
       首先这种方案不是真正意义上的负载均衡,DNS 服务器将Http请求平均地分配到后台的Web服务器上,而不考虑每个Web服务器当前的负载情况;如果后台的Web服务器的配置和处理能力不同,最慢的 Web服务器将成为系统的瓶颈,处理能力强的服务器不能充分发挥作用;
       其次未考虑容错,如果后台的某台Web服务器出现故障,DNS服务器仍然会把DNS 请求分配到这台故障服务器上,导致不能响应客户端。
       最后一点是致命的,有可能造成相当一部分客户不能享受Web服务,并且由于DNS缓存的原因,所造成的后果要持续相当长一段时间(一般DNS的刷新周期约为几十分钟甚至更长)。


    反向代理负载均衡:
       使用代理服务器可以将请求转发给内部的Web服务器。比如apache,nginx,squid等服务器均支持反向代理。
        但是,对于连接请求数量非常大的时候,代理服务器的负载也会非常之大,在最后反向代理服务器会成为服务的瓶颈。


    F5:
       F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙---包过滤、包消毒等功能。
       F5 BIG-IP用作HTTP负载均衡器的主要功能:  
       ① F5 BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器。  
       ② F5 BIG-IP可以确认应用程序能否对请求返回对应的数据。假如F5 BIG-IP后面的某一台服务器发生服务停止、死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上。这样,只要其它的服务器正常,用户的访问就不会受到影响。宕机一旦修复,F5 BIG-IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。
       ③ F5 BIG-IP具有动态Session的会话保持功能。
       ④ F5 BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器。


    LVS:
       LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。
       本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);
       支持十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。
       三种负载均衡技术介绍如下:
    1.Virtual Server via Network Address Translation(VS/NAT)
       通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。
    2.Virtual Server via IP Tunneling(VS/TUN)
       采用NAT技术时,由于请求和响应报文都必须经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈。
       为了解决这个问题,调度器把请求报文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,所以调度器只处理请求报文。
       由于一般网络服务应答比请求报文大许多,采用 VS/TUN技术后,集群系统的最大吞吐量可以提高10倍。
    3.Virtual Server via Direct Routing(VS/DR)
      VS/DR通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户。同VS/TUN技术一样,VS/DR技术可极大地提高集群系统的伸缩性。
      这种方法没有IP隧道的开销,对集群中的真实服务器也没有必须支持IP隧道协议的要求,但是要求调度器与真实服务器都有一块网卡连在同一物理网段上。

    分类         VS/NAT     VS/TUN     VS/DR

    服务器操作系统    任意      支持隧道       多数(支持Non-arp )

    服务器网络      私有网络    局域网/广域网    局域网

    服务器数目(100M网络)   10-20   100        多(100)

    服务器网关      负载均衡器   自己的路由      自己的路由

    效率         一般      高          最高


    Haproxy:
       HAProxy提供高可用性、负载均衡 以及基于TCP和HTTP应用的代理,它是免费、快速并且可靠的一种解决方案。
       HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。
       HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
      优点:支持session保持,同时支持通过获取指定的url来检测后端服务器的状态。支持tcp模式的负载均衡。比如可以给mysql的从服务器集群和邮件服务器做负载均衡。
      缺点: 不支持虚拟主机。


    Nginx负载均衡
    优点:性能好,可以负载超过2万的并发。
           功能多,除了负 载均衡,还能作Web服务器,而且可以通过Geo模块来实现流量分配。
           社区活跃,第三方补丁和模块很多。
           支持gzip proxy。
    缺点:
          不支持session保持。
           对后端realserver的健康检查功能效果不好。而且只支持通过端口来检测,不支持通过url来检测。
            nginx对big request header的支持不是很好,如果client_header_buffer_size设置的比较小,就会返回400bad request页面。
    nginx负载均衡配置参考:
    upstream bakend{#定义负载均衡设备的Ip及设备状态
    ip_hash;
        server 127.0.0.1:9090 down;
        server 127.0.0.1:8080 weight=2;
        server 127.0.0.1:6060;
        server 127.0.0.1:7070 backup;
    }
    proxy_pass http://bakend/;
    每个设备的状态可以设置为:
    1.down 表示单前的server暂时不参与负载
    2.weight 默认为1.weight越大,负载的权重就越大。
    3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
    4.fail_timeout:max_fails次失败后,暂停的时间。
    5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
    展开全文
  • 六种常用的web负载均衡技术

    万次阅读 2017-02-28 07:38:34
    负载均衡不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有...
  • 基于Linux的负载均衡技术.pdf
  • 负载均衡技术原理

    千次阅读 2021-02-24 22:01:54
    浅谈几种常用负载均衡架构 一篇读懂分布式架构下的负载均衡技术:分类、原理、算法、常见方案等 一、 引言 负载均衡(Load Balance)是指将负载(工作任务)进行平衡、分摊到多个操作单元上运行,促使多台设备共同...
  • 常用负载均衡的工具 Nginx、LVS、HAProxy、 F5 ​ 负载均衡即是代理服务器将接收的请求均衡的分发到各服务器中,负载均衡主要解决网络拥塞问题,提高服务器响应速度,服务就近提供,达到更好的访问质量,减少后台...
  • 抗负载能力强,使用IP负载均衡技术,只做分发,所以LVS本身并没有多少流量产生; 2.稳定性、可靠性好,自身有完美的热备方案;(如:LVS+Keepalived) 3.应用范围比较广,可以对所有应用做负载均衡; 4.不支持正则...
  • L4和L7负载均衡原理四层负载均衡原理所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。以常见的TCP为例,负载均衡设备在接收到第一个...
  • Linux负载均衡集群技术在网络服务器中的应用
  • 作者:Kingreatwill链接:http://t.cn/Ea8JcrS>>>>什么是负载均衡在网站创立初期,我们一般都使用单台机器对台提供集中...
  • 在某些大型网络,由于多个服务器群内部硬件设备、各自的规模、提供的服务等的差异,不能采用统一的负载均衡技术,此时可以考虑给每个服务器采用最合适的负载均衡方式,而后在这多个服务器群简再一次进行负载均衡或...
  • 负载均衡技术与分类

    2016-05-17 22:23:07
    甚至有许多博客,当流量逐步增加时,为了使网站有大吞吐量,都会使用负载均衡这样低成本的技术,下面,就简单介绍一下常用负载均衡技术。1:软件负载均衡技术该技术适用于一些中小型网站系统,可以满足一般的均衡...
  • 一,什么是负载均衡(Load balancing) 在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但是随着业务量越来越大,无论是性能上还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供...
  • 笔者在此总结了Linux下常用的几种负载均衡技术: bond bond是Linux内核自带的多网卡聚合功能。这个功能可以把多个网卡整合成一个虚拟网卡从而同时利用多块网卡传输数据。bond有多种不同的模式用以适应不同的...
  • 常用负载均衡有哪些?

    千次阅读 2020-03-12 17:37:09
    常用负载均衡的工具 Nginx Nginx 可以用于七层负载均衡。 但是对于一些大的网站,一般会采用 DNS+四层负载+七层负载的方式进行多层次负载均衡。 LVS LVS(Linux Virtual Server),也就是 Linux 虚拟服务器,是一个...
  • 负载均衡

    万次阅读 多人点赞 2018-05-28 10:08:23
    流量负载均衡介绍1 负载均衡产生的...负载均衡技术具有一下优势:(1)高性能:负载均衡技术将业务较均衡的分担到多台设备或链路上,从而提高了整个系统的性能;(2)可扩展性:负载均衡技术可以方便的增加集群中设...
  • 常见的负载均衡器(一)前言一、LB集群是什么LB集群HA集群HPC集群二、负载均衡类别负载均衡主要方式四层负载均衡和七层负载均衡代理 前言 LB(Load Balance)集群,负载均衡集群,是以提高服务的并发处理能力为...
  • 负载均衡技术

    2020-02-27 19:07:19
    负载均衡实际是冗余技术的一种实现,对于典型的网站类应用系统,对应请求数据流的各个层面,有多种多样的负载均衡实现方案,后端的处理节点也同样如此。 要对网络请求进行负载均衡,首要的是服务无状态,请求可以...
  • 负载均衡(LB)简略介绍

    千次阅读 2020-08-11 09:47:27
    1 负载均衡相关概念 【1】负载均衡(Load Balance)是集群技术(Cluster)的一种应用。 指将负载(工作任务)进行平衡、分摊到多个单元操作...- 高性能:负载均衡技术将业务较均衡的分担到多台设备或链路上,从而...
  • 常用负载均衡软件详解

    千次阅读 2017-11-10 15:29:23
    常用负载均衡软件详解 ​ 一、 负载均衡分类 ​ 1. 硬件负载均衡 常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模...
  • 架构设计:负载均衡层设计方案之负载均衡技术总结篇   1、概述 通过前面文章的介绍,并不能覆盖负载均衡层的所有技术,但是可以作为一个引子,告诉各位读者一个学习和使用负载均衡技术的思路。虽然后面我们将...
  • 负载均衡原理与技术实现

    万次阅读 2018-07-20 17:59:33
    负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。负载均衡基本概念有:...
  • 负载均衡及解决方案

    2021-04-17 21:35:16
    本文主要介绍什么是负载均衡负载均衡解决方案
  • 链路负载均衡 链路负载均衡CDN是一个经策略性部署的整体系统,能够帮助用户解决分布式存储,负载均衡,网络请求的重定向和内容管理等问题。其目的是通过在现有的因特网中增加一层新的网络架构,将网站的内容发布到...
  • 参考:什么是负载均衡? - 知乎 实现负载均衡的几种方式_HumorMrChen的博客-CSDN博客_负载均衡 目录 什么是负载均衡 为什么要负载均衡负载均衡器可以处理什么样的请求? 负载均衡器如何选择要转发的后端...
  • 几种常见的负载均衡方式

    千次阅读 2018-07-13 21:12:46
    DNS负载均衡:DNS是最简单也最常见的负载均衡方式,一般用来实现地理级别的均衡,比如,北方的用户访问北京的机房,南方的用户访问上海的机房。DNS的本质是一个域名可以在DNS中对应多个IP地址,不同地域的用户在请求...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,369
精华内容 30,547
关键字:

常用的负载均衡技术