精华内容
下载资源
问答
  • 2020-08-26 09:08:34

    链路负载均衡

    链路负载均衡CDN是一个经策略性部署的整体系统,能够帮助用户解决分布式存储,负载均衡,网络请求的重定向和内容管理等问题。其目的是通过在现有的因特网中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容,解决因特网网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由网络带宽太小,用户访问量大,网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。当流量进入链路负载均衡设备后,链路负载设备会根据访问流量的目的IP地址对照运营商列表进行逐一匹配。在匹配过程中,该地址如果命中某一运营商的IP地址,链路负载均衡设备则将流量引导向该运营商所对应的接口,从而将流量成功的进行分流引导。

    常用的负载均衡设备一般选择F5-BIG-LC-1600-4G-R

    工作流程如下

    1. 链路负载均衡设备接收内网用户流量
    2. 链路负载均衡设备根据目的IP地址来查找目的IP所属运营商
    3. 链路负载均衡设备根据选定的运营商结果将流量转发给选定的链路
    4. 链路负载均衡设备接收外网用户流量
    5. 链路负载均衡设备将流量转发给内网用户

    链路负载均衡的两种情况:链路负载均衡是指通过动态算法在多条网络链路中进行负载均衡,链路负载均衡根据业务流量的方向可以分为Outhound链路负载均衡和Inbound链路负载均衡两种情况。Outhound链路负载均衡主要解决是企业内部业务系统访问外部互联网服务时如何在多余不同的链路中动态分配和负载均衡的问题。Inbound链路负载均衡主要解决的是位于互联网外部的用户如何在访问企业内部网站和业务系统时动态地在多条链路上平衡分配,并在一条链路中断时,能够智能地自动切换到另一条可用链路。

    应用负载均衡

    应用负载均衡也叫服务器负载均衡,是将客户端请求在集群中的服务器上实现均衡分发的技术。按照位于七层网络协议栈的不同层划分,服务器负载均衡可以分为四层(L4)和七层(L7)负载均衡两种。L4负载均衡是基于流的服务器负载均衡,能够对报文进行逐流分发,即将同一条流的报文分发给同一台服务器,L7负载均衡是基于内容的服务器负载均衡,能够对七层报文内容进行深度解析,并根据其中的关键字进行逐包转发,按照既定策略将连接导向指定的服务器,本行用的便是第二种方式。

    注意:L4负载均衡因无法对七层业务实现按内容分发,限制了他的适用范围,因此L7负载均衡受到了业界极大重视并成为了服务器负载均衡的主流。L4的实现方式主要有NAT网络地址转换和DR直接路由;L4服务器负载均衡在截取数据流后,对数据包的检查和分析仅局限于IP报文头部和TCP/UDP报文头部,而并不关系TCP/UDP数据包的有效载荷信息。而L7服务器负载均衡则要求负载均衡设备除了支持基于四层的负载均衡外,还要解析数据包中四层以上的信息,即应用层的信息,例如解析http内容,从而在数据包中提取出来http url或者cookie信息,用来作为负载均衡的依据。

    两者区别

    承担负载的对象不同,但是就负载均衡设备而言,其关键技术、部署方式等内容都是具有相似之处的。

    更多相关内容
  • 本文档介绍负载均衡出口网关多业务典型配置举例。 LB(Load Balance,负载均衡)是一种集群技术,它将特定的业务...给多台网络设备(包括服务器、LB 等)或多条链路,从而提高了业务处理能力,保证了业务的高 可靠性
  • 现代数据中心网络(Date Center Network,DCN)经常会使用路径(MultiPath,MP)拓扑结构,这样可以避免两节点间某链路失效而导致的网络拥塞问题,而且增加了网络的带宽和容错率。传统的OSPF(Open Shortest ...
  • 网络负载均衡详解

    千次阅读 2017-05-04 17:26:35
    摘要: 一、四层和七层负载均衡简介 1. 常见的负载均衡类型 ① 二层负载均衡 基于MAC地址,它会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址。 ② 三层负载均衡 基于IP地址,它会通过一个虚拟IP地址...

    摘要: 一、四层和七层负载均衡简介 1. 常见的负载均衡类型 ① 二层负载均衡 基于MAC地址,它会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址。 ② 三层负载均衡 基于IP地址,它会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址。

    一、四层和七层负载均衡简介

    1. 常见的负载均衡类型

    ① 二层负载均衡

    基于MAC地址,它会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址。

    ② 三层负载均衡

    基于IP地址,它会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址。

    ③ 四层负载均衡

    基于IP地址和端口号,它会通过一个虚拟IP和端口号接收请求,然后再分配到真实的服务器。

    ④ 七层负载均衡

    基于URL等应用层信息,它会通过虚拟的URL或主机名接收请求,然后再分配到真实的服务器。

    2. 四层和七层负载均衡

    所谓的四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量。

    ① 四层均衡负载

    通过发布三层的IP地址(VIP,虚拟IP地址),然后加上四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。

    ② 七层均衡负载

    在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。

    举个例子,如果你的Web服务器分成两组,一组是中文语言的,一组是英文语言的,那么七层负载均衡就可以当用户来访问你的域名时,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。

    3. 负载均衡器

    负载均衡器通常称为四层交换机或七层交换机。

    ① 四层交换机(L4 Switch)

    主要分析IP层及TCP/UDP层,实现四层流量负载均衡。它在OSI第四层工作,也就是TCP层,这种负载均衡器不理解应用协议(如HTTP/FTP/MySQL等等)。例子:LVS,F5。

    ② 七层交换机(L7 Switch)

    除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。它在OSI的最高层工作,也就是应用层。此时,这种负载均衡器能理解应用协议。例子:haproxy,MySQL Proxy。

    注意:
    上述的很多负载均衡器既可以做四层交换,也可以做七层交换。

    二、四层和七层负载均衡的区别

    负载均衡设备也常被称为"四到七层交换机",那么四层和七层两者到底区别在哪里?

    第一,技术原理上的区别。

    所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

    以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN请求时,即通过上述方式选择一个最佳的服务器,并对报文中的目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和后端服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。在某些部署情况下,为保证后端服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报文原来的源地址进行修改。


    所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

    以常见的TCP为例,负载均衡设备如果要根据真正的应用层内容再选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。负载均衡设备在这种情况下,更类似于一个代理服务器。负载均衡和前端的客户端以及后端的服务器会分别建立TCP连接。所以从这个技术原理上来看,七层负载均衡明显的对负载均衡设备的要求更高,处理七层的能力也必然会低于四层模式的部署方式。

    第二,应用场景的需求。

    七层应用负载的好处,是使得整个网络更"智能化"。例如访问一个网站的用户流量,可以通过七层的方式,将对图片类的请求转发到特定的图片服务器并可以使用缓存技术;将对文字类的请求可以转发到特定的文字服务器并可以使用压缩技术。当然这只是七层应用的一个小案例,从技术原理上,这种方式可以对客户端的请求和服务器的响应进行任意意义上的修改,极大的提升了应用系统在网络层的灵活性。很多在后台,例如,Nginx或者Apache上部署的功能可以前移到负载均衡设备上,例如客户请求中的Header重写,服务器响应中的关键字过滤或者内容插入等功能。

    另外一个常常被提到功能就是安全性。网络中最常见的SYN Flood攻击,即黑客控制众多源客户端,使用虚假IP地址对同一目标发送SYN攻击,通常这种攻击会大量发送SYN报文,耗尽服务器上的相关资源,以达到Denial of Service(DoS)的目的。从技术原理上也可以看出,四层模式下这些SYN攻击都会被转发到后端的服务器上;而七层模式下这些SYN攻击自然在负载均衡设备上就截止,不会影响后台服务器的正常运营。另外负载均衡设备可以在七层层面设定多种策略,过滤特定报文,例如SQL Injection等应用层面的特定攻击手段,从应用层面进一步提高系统整体安全。

    现在的七层负载均衡,主要还是着重于应用HTTP协议,所以其应用范围主要是众多的网站或者内部信息平台等基于B/S开发的系统。四层负载均衡则对应其他TCP应用,例如基于C/S开发的ERP等系统。

    第三,七层负载均衡需要考虑的问题。

    1. 是否真的必要
    七层负载均衡的确可以提高流量智能化,同时不可避免的带来设备配置复杂,负载均衡压力增高以及故障排查上的复杂性等问题。在设计系统时需要考虑四层和七层同时应用的混杂情况。

    2. 是否真的可以提高安全性
    例如SYN Flood攻击,七层模式的确将这些流量从服务器屏蔽,但负载均衡设备本身要有强大的抗DDoS能力,否则即使服务器正常而作为中枢调度的负载均衡设备故障也会导致整个应用的崩溃。

    3. 是否灵活度足够
    七层负载均衡的优势是可以让整个应用的流量智能化,但是负载均衡设备需要提供完善的七层功能,满足客户根据不同情况的基于应用的调度。最简单的一个考核就是能否取代后台Nginx或者Apache等服务器上的调度功能。能够提供一个七层模式的开发接口的负载均衡设备,可以让客户根据需求任意设定功能,才真正有可能提供强大的灵活性和智能性。

    三、负载均衡分类

    负载均衡(Load Balance)建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。


    负载均衡有两方面的含义:首先,大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。

    本章所要介绍的负载均衡技术主要是指在均衡服务器群中所有服务器和应用程序之间流量负载的应用,目前负载均衡技术大多数用于提高诸如在Web服务器、FTP服务器和其它关键任务服务器上的Internet服务器程序的可用性和可伸缩性。

    目前有许多不同的负载均衡技术用以满足不同的应用需求,下面从负载均衡所采用的设备对象、应用的网络层次(指OSI参考模型)及应用的地理结构等来分类。

    1. 软/硬件负载均衡
    • 软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。
      软件解决方案缺点也较多,因为每台服务器上安装额外的软件运行会消耗系统不定量的资源,越是功能强大的模块,消耗得越多,所以当连接请求特别大的时候,软件本身会成为服务器工作成败的一个关键;软件可扩展性并不是很好,受到操作系统的限制;由于操作系统本身的Bug,往往会引起安全问题。

    • 硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。
      负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器之外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。

    一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。

    2. 本地/全局负载均衡

    负载均衡从其应用的地理结构上分为本地负载均衡(Local Load Balance)全局负载均衡(Global Load Balance,也叫地域负载均衡),本地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。

    • 本地负载均衡能有效地解决数据流量过大、网络负荷过重的问题,并且不需花费昂贵开支购置性能卓越的服务器,充分利用现有设备,避免服务器单点故障造成数据流量的损失。其有灵活多样的均衡策略把数据流量合理地分配给服务器群内的服务器共同负担。即使是再给现有服务器扩充升级,也只是简单地增加一个新的服务器到服务群中,而不需改变现有网络结构、停止现有的服务。

    • 全局负载均衡主要用于在一个多区域拥有自己服务器的站点,为了使全球用户只以一个IP地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度,也可用于子公司分散站点分布广的大公司通过Intranet(企业内部互联网)来达到资源统一合理分配的目的。

    3. 网络层次上的负载均衡

    针对网络上负载过重的不同瓶颈所在,从网络的不同层次入手,我们可以采用相应的负载均衡技术来解决现有问题。

    随着带宽增加,数据流量不断增大,网络核心部分的数据接口将面临瓶颈问题,原有的单一线路将很难满足需求,而且线路的升级又过于昂贵甚至难以实现,这时就可以考虑采用链路聚合(Trunking)技术。

    链路聚合技术(第二层负载均衡)将多条物理链路当作一条单一的聚合逻辑链路使用,网络数据流量由聚合逻辑链路中所有物理链路共同承担,由此在逻辑上增大了链路的容量,使其能满足带宽增加的需求。

    现代负载均衡技术通常操作于网络的第四层或第七层。第四层负载均衡将一个Internet上合法注册的IP地址映射为多个内部服务器的IP地址,对每次 TCP连接请求动态使用其中一个内部IP地址,达到负载均衡的目的。在第四层交换机中,此种均衡技术得到广泛的应用,一个目标地址是服务器群VIP(虚拟 IP,Virtual IP address)连接请求的数据包流经交换机,交换机根据源端和目的IP地址、TCP或UDP端口号和一定的负载均衡策略,在服务器IP和VIP间进行映射,选取服务器群中最好的服务器来处理连接请求。

    第七层负载均衡控制应用层服务的内容,提供了一种对访问流量的高层控制方式,适合对HTTP服务器群的应用。第七层负载均衡技术通过检查流经的HTTP报头,根据报头内的信息来执行负载均衡任务。

    第七层负载均衡优点表现在如下几个方面:


    ① 通过对HTTP报头的检查,可以检测出HTTP 400、500和600系列的错误信息,因而能透明地将连接请求重新定向到另一台服务器,避免应用层故障。


    ② 可根据流经的数据类型(如判断数据包是图像文件、压缩文件或多媒体文件格式等),把数据流量引向相应内容的服务器来处理,增加系统性能。


    ③ 能根据连接请求的类型,如是普通文本、图象等静态文档请求,还是asp、cgi等的动态文档请求,把相应的请求引向相应的服务器来处理,提高系统的性能及安全性。

    第七层负载均衡受到其所支持的协议限制(一般只有HTTP),这样就限制了它应用的广泛性,并且检查HTTP报头会占用大量的系统资源,势必会影响到系统的性能,在大量连接请求的情况下,负载均衡设备自身容易成为网络整体性能的瓶颈。

    4. 负载均衡策略

    在实际应用中,我们可能不想仅仅是把客户端的服务请求平均地分配给内部服务器,而不管服务器是否宕机。而是想使Pentium III服务器比Pentium II能接受更多的服务请求,一台处理服务请求较少的服务器能分配到更多的服务请求,出现故障的服务器将不再接受服务请求直至故障恢复等等。

    选择合适的负载均衡策略,使多个设备能很好的共同完成任务,消除或避免现有网络负载分布不均、数据流量拥挤反应时间长的瓶颈。在各种负载均衡方式中,针对不同的应用需求,在OSI参考模型的第二、三、四、七层的负载均衡都有相应的负载均衡策略。

    负载均衡策略的优劣及其实现的难易程度有两个关键因素一、负载均衡算法二、对网络系统状况的检测方式和能力

    考虑到服务请求的不同类型、服务器的不同处理能力以及随机选择造成的负载分配不均匀等问题,为了更加合理的把负载分配给内部的多个服务器,就需要应用相应的能够正确反映各个服务器处理能力及网络状态的负载均衡算法

    ① 轮循均衡(Round Robin):每一次来自网络的请求轮流分配给内部中的服务器,从1至N然后重新开始。这种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。

    ② 权重轮循均衡(Weighted Round Robin):根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。例如:服务器A的权值被设计成1,B的权值是 3,C的权值是6,则服务器A、B、C将分别接受到10%、30%、60%的服务请求。此种均衡算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。

    ③ 随机均衡(Random):把来自网络的请求随机分配给内部中的多个服务器。

    ④ 权重随机均衡(Weighted Random):此种均衡算法类似于权重轮循算法,不过在处理请求分担时是个随机选择的过程。

    ⑤ 响应速度均衡(Response Time):负载均衡设备对内部各服务器发出一个探测请求(例如Ping),然后根据内部中各服务器对探测请求的最快响应时间来决定哪一台服务器来响应客户端的服务请求。此种均衡算法能较好的反映服务器的当前运行状态,但这最快响应时间仅仅指的是负载均衡设备与服务器间的最快响应时间,而不是客户端与服务器间的最快响应时间。

    ⑥ 最少连接数均衡(Least Connection):客户端的每一次请求服务在服务器停留的时间可能会有较大的差异,随着工作时间加长,如果采用简单的轮循或随机均衡算法,每一台服务器上的连接进程可能会产生极大的不同,并没有达到真正的负载均衡。最少连接数均衡算法对内部中需负载的每一台服务器都有一个数据记录,记录当前该服务器正在处理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加符合实际情况,负载更加均衡。此种均衡算法适合长时处理的请求服务,如FTP。

    ⑤ 处理能力均衡:这种均衡算法将把服务请求分配给内部中处理负荷(根据服务器CPU型号、CPU数量、内存大小及当前连接数等换算而成)最轻的服务器,由于考虑到了内部服务器的处理能力及当前网络运行状况,所以此种均衡算法相对来说更加精确,尤其适合运用到第七层(应用层)负载均衡的情况下。

    ⑥ DNS响应均衡(Flash DNS):在Internet上,无论是HTTP、FTP或是其它的服务请求,客户端一般都是通过域名解析来找到服务器确切的IP地址的。在此均衡算法下,分处在不同地理位置的负载均衡设备收到同一个客户端的域名解析请求,并在同一时间内把此域名解析成各自相对应服务器的IP地址(即与此负载均衡设备在同一位地理位置的服务器的IP地址)并返回给客户端,则客户端将以最先收到的域名解析IP地址来继续请求服务,而忽略其它的IP地址响应。在种均衡策略适合应用在全局负载均衡的情况下,对本地负载均衡是没有意义的。

    尽管有多种的负载均衡算法可以较好的把数据流量分配给服务器去负载,但如果负载均衡策略没有对网络系统状况的检测方式和能力,一旦在某台服务器或某段负载均衡设备与服务器网络间出现故障的情况下,负载均衡设备依然把一部分数据流量引向那台服务器,这势必造成大量的服务请求被丢失,达不到不间断可用性的要求。所以良好的负载均衡策略应有对网络故障、服务器系统故障、应用服务故障的检测方式和能力

    ① Ping侦测:通过ping的方式检测服务器及网络系统状况,此种方式简单快速,但只能大致检测出网络及服务器上的操作系统是否正常,对服务器上的应用服务检测就无能为力了。

    ② TCP Open侦测:每个服务都会开放某个通过TCP连接,检测服务器上某个TCP端口(如Telnet的23口,HTTP的80口等)是否开放来判断服务是否正常。

    ③ HTTP URL侦测:比如向HTTP服务器发出一个对main.html文件的访问请求,如果收到错误信息,则认为服务器出现故障。

    负载均衡策略的优劣除受上面所讲的两个因素影响之外,在有些应用情况下,我们需要将来自同一客户端的所有请求都分配给同一台服务器去负担,例如服务器将客户端注册、购物等服务请求信息保存在本地数据库的情况下,把客户端的子请求分配给同一台服务器来处理就显的至关重要了。有两种方式可以解决此问题,一是根据IP地址把来自同一客户端的多次请求分配给同一台服务器处理,客户端IP地址与服务器的对应信息是保存在负载均衡设备上的;二是在客户端浏览器 cookie内做独一无二的标识来把多次请求分配给同一台服务器处理,适合通过代理服务器上网的客户端。

    还有一种路径外返回模式(Out of Path Return),当客户端连接请求发送给负载均衡设备的时候,中心负载均衡设备将请求引向某个服务器,服务器的回应请求不再返回给中心负载均衡设备,即绕过流量分配器,直接返回给客户端,因此中心负载均衡设备只负责接受并转发请求,其网络负担就减少了很多,并且给客户端提供了更快的响应时间。此种模式一般用于HTTP服务器群,在各服务器上要安装一块虚拟网络适配器,并将其IP地址设为服务器群的VIP,这样才能在服务器直接回应客户端请求时顺利的达成三次握手。

    5. 负载均衡实施要素

    负载均衡方案应是在网站建设初期就应考虑的问题,不过有时随着访问流量的爆炸性增长,超出决策者的意料,这也就成为不得不面对的问题。当我们在引入某种负载均衡方案乃至具体实施时,像其他的许多方案一样,首先是确定当前及将来的应用需求,然后在代价与收效之间做出权衡。

    针对当前及将来的应用需求,分析网络瓶颈的不同所在,我们就需要确立是采用哪一类的负载均衡技术,采用什么样的均衡策略,在可用性、兼容性、安全性等等方面要满足多大的需求,如此等等。

    不管负载均衡方案是采用花费较少的软件方式,还是购买代价高昂在性能功能上更强的第四层交换机、负载均衡器等硬件方式来实现,亦或其他种类不同的均衡技术,下面这几项都是我们在引入均衡方案时可能要考虑的问题:

    ① 性能:性能是我们在引入均衡方案时需要重点考虑的问题,但也是一个最难把握的问题。衡量性能时可将每秒钟通过网络的数据包数目做为一个参数,另一个参数是均衡方案中服务器群所能处理的最大并发连接数目,但是,假设一个均衡系统能处理百万计的并发连接数,可是却只能以每秒2个包的速率转发,这显然是没有任何作用的。 性能的优劣与负载均衡设备的处理能力、采用的均衡策略息息相关,并且有两点需要注意:一、均衡方案对服务器群整体的性能,这是响应客户端连接请求速度的关键;二、负载均衡设备自身的性能,避免有大量连接请求时自身性能不足而成为服务瓶颈。 有时我们也可以考虑采用混合型负载均衡策略来提升服务器群的总体性能,如DNS负载均衡与NAT负载均衡相结合。另外,针对有大量静态文档请求的站点,也可以考虑采用高速缓存技术,相对来说更节省费用,更能提高响应性能;对有大量ssl/xml内容传输的站点,更应考虑采用ssl/xml加速技术。

    ② 可扩展性:IT技术日新月异,一年以前最新的产品,现在或许已是网络中性能最低的产品;业务量的急速上升,一年前的网络,现在需要新一轮的扩展。合适的均衡解决方案应能满足这些需求,能均衡不同操作系统和硬件平台之间的负载,能均衡HTTP、邮件、新闻、代理、数据库、防火墙和 Cache等不同服务器的负载,并且能以对客户端完全透明的方式动态增加或删除某些资源。

    ③ 灵活性:均衡解决方案应能灵活地提供不同的应用需求,满足应用需求的不断变化。在不同的服务器群有不同的应用需求时,应有多样的均衡策略提供更广泛的选择。

    ④ 可靠性:在对服务质量要求较高的站点,负载均衡解决方案应能为服务器群提供完全的容错性和高可用性。但在负载均衡设备自身出现故障时,应该有良好的冗余解决方案,提高可靠性。使用冗余时,处于同一个冗余单元的多个负载均衡设备必须具有有效的方式以便互相进行监控,保护系统尽可能地避免遭受到重大故障的损失。

    ⑤ 易管理性:不管是通过软件还是硬件方式的均衡解决方案,我们都希望它有灵活、直观和安全的管理方式,这样便于安装、配置、维护和监控,提高工作效率,避免差错。在硬件负载均衡设备上,目前主要有三种管理方式可供选择:一、命令行接口(CLI:Command Line Interface),可通过超级终端连接负载均衡设备串行接口来管理,也能telnet远程登录管理,在初始化配置时,往往要用到前者;二、图形用户接口(GUI:Graphical User Interfaces),有基于普通web页的管理,也有通过Java Applet 进行安全管理,一般都需要管理端安装有某个版本的浏览器;三、SNMP(Simple Network Management Protocol,简单网络管理协议)支持,通过第三方网络管理软件对符合SNMP标准的设备进行管理。

    展开全文
  • 现在网站的数目非常,如果全部用IP地址进行访问,恐怕很难记住。于是,需要一个地址簿,根据名称就可以查看具体的地址 例如,要去西湖边的"外婆家饭店",这就是名称,然后通过地址簿查看到底是哪路多少号 一、...

    现在网站的数目非常多,如果全部用IP地址进行访问,恐怕很难记住。于是,需要一个地址簿,根据名称就可以查看具体的地址

    例如,要去西湖边的"外婆家饭店",这就是名称,然后通过地址簿查看到底是哪条路多少号

    一、DNS服务器

    在网络世界也是这样的,肯定记得住网站的名称,但是很难记住网站的IP地址,因而也需要一个地址簿,就是DNS服务器

    由此可见,DNS在日常生活中多么重要。每个人上网都需要访问它,但是同时,这对它来讲也是非常大的挑战,一旦它出了故障整个互联网都将瘫痪。另外,上网的人分布在全世界各地,如果大家都去同一个地方访问某一台服务器,时延将会非常大。因而,DNS服务器一定要设置成高可用、高并发和分布式

    于是,就有了这样树状的层次结构
    在这里插入图片描述

    • 根DNS服务器 :返回顶级域DNS服务器的IP地址
    • 顶级域DNS服务器:返回权威DNS服务器的IP地址
    • 权威DNS服务器 :返回相应主机的IP地址

    二、DNS解析流程

    为了提高DNS的解析性能,很多网络都会就近部署DNS缓存服务器。于是,就有了以下的DNS解析流程

    1. 电脑向本地DNS发起解析请求

    电脑客户端会发出一个DNS请求,问www.163.com的IP是啥啊,并发给本地域名服务器(本地DNS)
    那本地域名服务器(本地DNS)是什么呢?如果是通过DHCP配置,本地DNS由网络服务商(ISP,如电信、移动等)自动分配,它通常就在网络服务商的某个机房

    1. 本地DNS向根DNS发起解析请求

    本地DNS收到来自客户端的请求。可以想象这台服务器上缓存了一张域名与之对应IP地址的大表格
    如果能找到www.163.com就直接就返回IP地址
    如果没有,本地DNS会去问它的根域名服务器:“老大,能告诉我www.163.com的IP地址吗?”,根域名服务器是最高层次的,全球共有13套。它不直接用于域名解析,但能指明一条道路

    1. 根DNS告知本地DNS顶级DNS服务器的地址

    根DNS收到来自本地DNS的请求,发现后缀是 .com,说:“哦,www.163.com啊,这个域名是由.com区域管理,给你它的顶级域名服务器的地址,你去问问它吧”

    1. 本地DNS向顶级DNS发起解析请求

    本地DNS转向问顶级域名服务器:“老二,能告诉我www.163.com的IP地址吗?”,顶级域名服务器就是大名鼎鼎的比如 .com、.net、 .org这些一级域名,它负责管理二级域名,比如163.com,所以它能提供一条更清晰的方向

    1. 顶级DNS告知本地DNS权威DNS服务器的地址

    顶级域名服务器说:“我给你负责www.163.com区域的权威DNS服务器的地址,你去问它应该能问到”

    1. 本地DNS向权威DNS发起解析请求

    本地DNS转向问权威DNS服务器:“您好,www.163.com对应的IP是啥呀?”,163.com的权威DNS服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主

    1. 权威DNS告知本地DNS服务对应的IP地址

    权威DNS服务器查询后将对应的IP地址x.x.x.x告诉本地DNS

    1. 本地DNS返回给客户端IP地址

    本地DNS再将IP地址返回客户端,客户端和目标建立连接

    至此,完成了DNS的解析过程。现在总结一下并将整个过程画成了一个图
    在这里插入图片描述

    三、负载均衡

    站在客户端角度,这是一次DNS递归查询过程。因为本地DNS全权为它效劳,它只要坐等结果即可。在这个过程中,DNS除了可以通过名称映射为IP地址,它还可以做另外一件事,就是负载均衡

    还是以访问“外婆家饭店”为例,“外婆家饭店"可能有很多地址,因为它在杭州都可以有很多家。所以,如果一个人想去"外婆家饭店”,他可以就近找一家店,而不用大家都去同一家,这就是负载均衡

    3.1 内部负载均衡

    DNS首先可以做内部负载均衡

    例如,一个应用要访问数据库,在这个应用里面应该配置这个数据库的IP地址,还是应该配置 这个数据库的域名呢?显然应该配置域名,因为一旦这个数据库因为某种原因,换到了另外一台机器上,而如果有多个应用都配置了这台数据库的话,一换IP地址就需要将这些应用全部修改一遍。但是如果配置了域名,则只要在DNS服务器里将域名映射为新的IP地址,这个工作就完成了,大大简化了运维

    在这个基础上,可以再进一步。例如,某个应用要访问另外一个应用,如果配置另外一个应用的IP地址,那么这个访问就是一对一的。但是当被访问的应用撑不住的时候,其实可以部署多个。但是,访问它的应用如何在多个之间进行负载均衡?只要配置成为域名即可,在域名解析时只要配置策略,这次返回第一个IP,下次返回第二个IP,就可以实现负载均衡

    3.2 全局负载均衡

    另外一个更加重要的是,DNS还可以做全局负载均衡

    为了保证应用高可用,往往会部署在多个机房,每个地方都会有自己的IP地址。当用户访问某个域名的时候,这个IP地址可以轮询访问多个数据中心。如果一个数据中心因为某种原因挂了,只要在DNS服务器里面,将这个数据中心对应的IP地址删除,就可以实现一定的高可用

    另外,肯定希望北京的用户访问北京的数据中心,上海的用户访问上海的数据中心,这样客户体验就会非常好,访问速度就会超快,这就是全局负载均衡的概念

    四、示例:DNS访问数据中心中对象存储上的静态资源

    通过DNS访问数据中心中对象存储上的静态资源为例,看一看整个过程

    4.1 多数据中心数据部署

    假设全国有多个数据中心,托管在多个运营商,每个数据中心三个可用区(Available
    Zone)。对象存储通过跨可用区部署,实现高可用性。在每个数据中心中都至少部署两个
    内部负载均衡器,内部负载均衡器后面对接多个对象存储的前置服务器(Proxy-server)
    在这里插入图片描述

    4.2 客户端域名解析的过程

    1. 当一个客户端要访问object.yourcompany.com的时候,需要将域名转换为IP地址进行访问,所以它要请求本地DNS解析器

    2. 本地DNS解析器先查看看本地的缓存是否有这个记录,如果有则直接使用,因为上面的过程太复杂,如果每次都要递归解析则非常麻烦

    3. 如果本地无缓存,则需要请求本地的DNS服务器

    4. 本地的DNS服务器一般部署在你的数据中心或者你所在的运营商的网络中,本地DNS服务器也需要看本地是否有缓存,如果有则返回,因为它也不想把上面的递归过程再走一遍

    5. 至7.如果本地没有,本地DNS才需要递归地从根DNS服务器,查到.com的顶级域名服务 器,最终查到yourcompany.com的权威DNS服务器给本地DNS服务器,权威DNS服务器按说会返回真实要访问的IP地址

    4.3 简单负载均衡

    对于不需要做全局负载均衡的简单应用来讲,yourcompany.com的权威DNS服务器可以直接将 object.yourcompany.com这个域名解析为一个或者多个IP地址,然后客户端可以通过多个IP地址进行简单的轮询,实现简单的负载均衡

    4.4 全局负载均衡器

    但是对于复杂的应用,尤其是跨地域跨运营商的大型应用,则需要更加复杂的全局负载均衡机制,因而需要专门的设备或者服务器来做这件事情,这就是全局负载均衡器(GSLB, Global Server Load Balance)

    yourcompany.com的DNS服务器中,一般是通过配置CNAME的方式,给object.yourcompany.com起一个别名,例如object.vip.yourcomany.com,然后告诉本地DNS服务器,让它请求GSLB解析这个域名,GSLB就可以在解析这个域名的过程中,通过自己的策略实现负载均衡

    图中画了两层的GSLB,是因为分运营商和地域。因此希望不同运营商的客户,可以访问相同 运营商机房中的资源,这样不跨运营商访问有利于提高吞吐量,减少时延

    4.5 GSLB的处理流程

    1. 第一层GSLB,通过查看请求它的本地DNS服务器所在的运营商,就知道用户所在的运营 商。假设是移动,通过CNAME的方式,通过另一个别名object.yd.yourcompany.com告诉本地DNS服务器去请求第二层的GSLB

    2. 第二层GSLB,通过查看请求它的本地DNS服务器所在的地址,就知道用户所在的地理位 置,然后将距离用户位置比较近的Region里面,六个内部负载均衡(SLB,Server Load Balancer)的地址返回给本地DNS服务器

    3. 本地DNS服务器将结果返回给本地DNS解析器

    4. 本地DNS解析器将结果缓存后,返回给客户端

    5. 客户端开始访问属于相同运营商的距离较近的Region 1中的对象存储,当然客户端得到了六个IP地址,它可以通过负载均衡的方式,随机或者轮询选择一个可用区进行访问。对象存储一般会有三个备份,从而可以实现对存储读写的负载均衡

    五、小结

    关于DNS协议的内容总结一下:

    • DNS是网络世界的地址簿,可以通过域名查地址,因为域名服务器是按照树状结构组织的,因此域名查找是使用递归的方法,并通过缓存的方式增强性能
    • 在域名和IP的映射过程中,给了应用基于域名做负载均衡的机会,可以是简单的负载均衡, 也可以根据地址和运营商做全局的负载均衡
    展开全文
  • 网络篇 OSPF的负载均衡-44

    千次阅读 2021-03-13 11:09:36
    OSPF是采用路由器的接口带宽来计算度量值的,那么,在生活中,可能会遇到存在多条前往目标路由器的路径,但是,路由表里面没有这个路由条目。为什么会这样?因为路由表只会保存最佳路由,这个是根据OSPF的SPF算法...

    目录

    一、实验原理

    二、实验拓扑

    三、实验步骤

    四、实验过程

    总结


    实验难度1
    实验复杂度2

     

     

     

    一、实验原理

    OSPF是采用路由器的接口带宽来计算度量值的,那么,在生活中,可能会遇到存在多条前往目标路由器的路径,但是,路由表里面没有这个路由条目。为什么会这样?因为路由表只会保存最佳路由,这个是根据OSPF的SPF算法计算出的度量值来决定的。但是,若我们希望人为操控这个路径,实现路径的负载均衡呢?这个当然是可以的,可以在接口上直接修改OSPF的开销的,但是个人不建议在现实生产环境中这样做,因为如果涉及到大量的流量转发,实际链路低下的链路就会出现问题了。

    二、实验拓扑

    三、实验步骤

    1.搭建如图所示的网络拓扑图;

    2.初始化路由器,配置相应的IP地址,测试直连网络的连通性;

    3.配置OSPF路由协议,进程号为100,区域号为0,所有的路由器都配置一个环回口作为RID,最后的效果为所有的接口都可以相互通信;

    4.在R1上查看R3的环回口0,修改R1R4的OSPF开销以实现R1到R3的loopback0的流量负载均衡功能 。

    四、实验过程

    1.搭建如图所示的网络拓扑图;

    略。

    2.初始化路由器,配置相应的IP地址,测试直连网络的连通性;

    略。

    3.配置OSPF路由协议,进程号为100,区域号为0,所有的路由器都配置一个环回口作为RID,最后的效果为所有的接口都可以相互通信;

    效果:

    现在我们可以看到R1去往172.16.1.1这台主机的路径只有一条,现在我们需要实现负载均衡,以达到R1的数据流量可以有多条路径到达R3的环回口。

    4.在R1上查看R3的环回口0,修改R1R4的OSPF开销以实现R1到R3的loopback0的流量负载均衡功能 。

    修改R1与R4接口上的OSPF的开销成本为10:

    效果:

    我们来跟踪一下路由,现在就实现了OSPF的负载均衡功能。

    代码解析:

    R4(config-if)#ip ospf cost 10   //在接口上修改OSPF的开销为10

    总结

    OSPF的度量值修改实验不难,但是在生活中,个人建议尽量不要使用,除非网络中没有涉及到大量流量转发的问题。好了,我们在下一个章节再见,加油!

    展开全文
  • 深入理解负载均衡

    千次阅读 2022-02-04 13:47:39
    文章目录负载均衡分类四层负载均衡真的是在四层吗数据链路层负载均衡网络负载均衡IP隧道传输(IP Tunnel)网络地址转换(NAT)负载均衡到底是转发还是代理总结 负载均衡分类 工作学习中我们接触过形形色色的负载...
  • 提出一种Ad hoc网络中的负载均衡多速率路由算法LBMR。该算法充分考虑802.11无线环境中固有的速率特性,通过网络中每个节点周期性地发送邻节点信息构造一张高速转发表。LBMR根据转发表进行转发时不仅考虑高速链路,...
  • 针对负载失衡或热点覆盖无线中继网络,提出一种基于负载均衡的自适应中继选择和频谱转移联合优化策略。定义了一种衡量一个站点对周围同频站点干扰程度的干扰容量,为某站点对其他站点的干扰提供了量化分析指标。当...
  • 首先对Ad Hoc网络路由协议作了简要的介绍,对比分析了ABR(基于联合的路由),DLAR(动态负载感知路由)等经典Ad Hoc网络负载均衡算法,并在此基础上提出了一种基于跨层负载感知的动态加权负载均衡路由算法(DWLR)。...
  • 使用OpenWrt安装MWAN3软件,配置负载均衡的接口、成员、策略、规则,实现出口带宽的叠加。
  • 把众多租户要完成的任务如何合理地分配给云端的各个服务器并能快速处理完,就是负载均衡技术所要解决的问题。 理想的使用情景描述如下: 早上 8:30 前,微算公司云端只有 1 号服务器在开启状态,其他众多的服务器都...
  • 针对线状无线传感器网络中节点能量消耗不均衡现象,本文提出基于概率分流的负载均衡路由协议,以一定规则建立多条路由路径,通过使负载较轻路径上的节点以一定概率分担负载较重路径上节点的数据传输任务,均衡网络中...
  • 链路聚合技术 以太网链路聚合简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。...
  • 负载均衡

    万次阅读 多人点赞 2018-05-28 10:08:23
    流量负载均衡介绍1 负载均衡产生的背景LB(Load Balance,负载均衡)是一种集群技术,它将特定的业务(网络服务、网络流量等)分担给多台网络设备(包括服务器、防火墙等)或多条链路,从而提高了业务处理能力,保证...
  • 在Win7设置网络负载均衡,增加带宽

    万次阅读 2016-08-26 14:57:36
    在使用中会发现如果你有一带宽过大,另外一带宽过小的话不建议使用这种负载均衡,因为这种负载均衡操作简单,但也很笨。 无法做频宽流量或连线的细部分配,而是平均分配连线,所以你上网浏览网页时,有些网页会...
  • iptables实战-DNAT、SNAT和负载均衡

    千次阅读 2022-03-12 14:37:30
    本文主要涉及了三个实验:利用iptabels实现SNAT、DNAT和出向负载均衡
  • nginx负载均衡的5种策略

    千次阅读 2021-12-14 10:08:16
    nginx负载均衡的5种策略 要理解负载均衡,必须先搞清楚正向代理和反向代理。 反向代理和正向代理区别 一 什么是代理 代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介。 刚开始的时候,代理...
  • RocketMQ(十三) RocketMQ负载均衡

    千次阅读 2022-04-01 15:15:33
    目录 一、什么是负载均衡 二、Producer发送消息负载均衡 ...RocketMQ中的负载均衡,主要可以分为Producer发送消息的负载均衡和Consumer订阅消息的负载均衡。下面我们分别进行分析。 二、Producer发送消息负载均
  • H3C负载均衡.pdf

    2020-05-07 22:33:42
    负载均衡是一种集群技术,它将特定的业务(网络服务、网络流量等)分担 给多台网络设备(包括服务器、防火墙等)或多条链路,从而提高了业务处理能力,保证了业务的 高可靠性。
  • 当我们刚开始用云服务器搭建网站或者部署应用的时候,因为用户流量较小,业务逻辑比较简单,一个云...你可以把负载均衡理解为一种性能优化设备,在网络应用的访问量不断增加的情况下,单个处理单元无法满足负载需求
  • 按照位于七层网络协议栈的不同层的划分,服务器负载均衡可以分为四层(L4)负载均衡和七层(L7)负载均衡两种。 1)L4负载均衡是基于流的服务器负载均衡,能够对报文进行逐流分发,即将同一流的报文分发给同一台服务器...
  • LVS负载均衡器的原理简单介绍

    千次阅读 2022-02-14 16:59:34
    LVS的负载均衡是基于底层IP协议来实现的,所以在了解其原理前,需要对计算机网络有一定的认知,OSI七层模型,已经个层的作用。 LVS的实现只用到了OSI的底三层,不同的LVS模式,采用的方法不同。由于LVS的转发只涉及...
  • 1.抗冲击能力强,能力最高可达F5(一种硬件的负载均衡器,功能强大,性能稳定,拥有很软件负载无法做到的能力)设备性能的60%。 2.工作在网络层。采用VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余...
  • LVS 文章目录LVS一、 负载...集群组成后,可以利用个计算机和组合进行海量请求的处理(负载均衡),从而获得很高的处理效率,也可以用个计算机做备份(高可用),使得任意一个机器坏了整个系统仍然能够正常运行。
  • SpringClould之客户端负载均衡(Ribbon)

    万次阅读 多人点赞 2021-10-22 09:43:30
    LB(Load Balance,负载均衡)是一种集群技术,它将特定的业务(网络服务、网络流量等)分担给多台网络设备(包括服务器、防火墙等)或多条链路,从而提高了业务处理能力,保证了业务的高可靠性。 负载均衡技术具有...
  • 负载均衡常见架构

    千次阅读 2018-04-19 20:51:31
    转自:https://blog.csdn.net/yinwenjie/article/details/481018693、负载均衡层技术汇总3-4、Keepalived技术Keepalived在我的博客文章《架构设计:负载均衡层设计方案(7)》...负载均衡层设计方案(6)》(...
  • RouterOS支持线路的负载均衡,某小区为了节约费用,采用402M带宽的AD通过做汇聚实现高带宽的小区带宽,为解决接口问题采用一台Cisco的48口的交换机做VLAN接入40AD,让后通过VLAN连接到RouterOS进行拨号,再做...
  • (2)客户端的流量首先会到达负载均衡器,由负载均衡服务器通过一定的调度算法将流量分发到不同的应用服务器上面,同时负载均衡服务器也会对应用服务器做周期性的健康检查,当发现故障节点时便于动态的将节点从应用...
  • 如何实现负载均衡

    2021-01-27 22:34:19
    什么是负载均衡 当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身的承受能力的时候,服务器就会崩溃,为了避免服务器崩溃,让用户有更好的体验,我们可以通过负载均衡的方式来分担服务器的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,485
精华内容 34,594
关键字:

多条网络负载均衡