`
异步获取爱
  • 浏览: 77615 次
  • 性别: Icon_minigender_1
  • 来自: 大男子主义世界
社区版块
存档分类
最新评论

一些负载均衡策略

阅读更多
负载均衡分全局负载均衡本地负载均衡

本地负载均衡是指对本地的服务器群做负载均衡。
全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。

循环DNS

就是每次解析域名时指向IP loop list 里的下一个IP.



负载均衡路由器

通过某种策略把请求发送到响应最快的server上, 同时可以满足故障转移/故障恢复. 但是负载均衡路由器本身需要维护,通常需要有两个, 来防止单点故障.

例如Alteon 180 和 F5 Network 的 Big-IP



负载均衡可以针对不同的网路层次


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

现在经常使用的是4至7层的负载均衡。

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

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

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

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

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

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

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





负载均衡策略:

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

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

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

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

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

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

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

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



服务故障的检测方式和能力:


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

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

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

相关推荐

    多种多样的负载均衡策略

    负载均衡,这个词令许多初涉网络的人不知所云。其实,负载均衡并非传统意义上的“均衡”,一般来说,它只是把有可能拥塞于一个地方的负载交给多个地方分担。如果将其改称为“负载分担”,也许更好懂一些。说得通俗...

    实现负载均衡的Web服务器软件nginx-1.13.0

    实现负载均衡常用的Web服务器软件有Nginx、HAProxy、LVS、Apache,本资源是Nginx的负载均衡策略。 负载均衡的目的是为了解决单个节点压力过大,造成Web服务响应过慢,严重的情况下导致服务瘫痪,无法正常提供服务。

    Nginx负载均衡特点

    Nginx的特点是: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构; 2、Nginx对网络的依赖比较小;... 另外默认的只有Round-robin和IP-hash两种负载均衡算法。

    分布式协调工具-ZooKeeper实现动态负载均衡

    生产者负载均衡:metaq发送消息的时候,生产者在发送消息的时候必须选择一台broker上的一个分区来发送消息,因此metaq在运行过程中,会把所有broker和对应的分区信息全部注册到ZK指定节点上,默认的策略是一个依次...

    负载均衡实现

    : 网络流量的负载均衡问题是近来迫切需要解决和完 善的问题. 通过在SNMP 模式作为网络流量采集技术的网络 流量监控系统进行流量监控, 基于MA 的一些特有的优势与 属性引入了移动代理的技术, 根据对主机的实时监控, ...

    Eureka的基本功能和用法

    更新,取消服务eureka-client-service-consumer:客户端,服务消费者,通过httprest从服务端获取需要服务的地址列表,然后配合一些负载均衡策略(ribbon)来调用服务端服务。值得注意的一点,不同于其他服务注册与...

    golang grpc 负载均衡的方法

    微服务架构里面,每个服务都会有很多节点,如果流量分配不均匀,会造成资源的浪费,甚至将一些机器压垮,这个时候就需要负载均衡,最简单的一种策略就是轮询,顺序依次选择不同的节点访问。 grpc 在客户端提供了负载...

    CentOS基于nginx反向代理实现负载均衡的方法

    本文实例讲述了CentOS基于nginx反向代理实现负载均衡的方法。分享给大家供大家参考,具体如下: nginx做负载均衡的优点: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的...

    go-tcp-balance:用GO编写的TCP负载均衡器。 SSH负载平衡的主要用途

    负载均衡策略 负载平衡器知道两种转发客户端的策略。 最低负荷 为此,您需要安装nrpe客户端。 nrpe是nagios使用的客户端。 然后,负载平衡器将运行nrpe命令check_load ,该命令必须在nrpe.cfg如下配置: command...

    Nginx实现负载均衡的方法总结

    主要给大家总结介绍了关于Nginx实现负载均衡的一些方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    论文研究-基于AHP的云存储负载均衡研究.pdf

    针对云存储系统节点在数据分布策略和系统响应时间方面的综合负载计算问题,提出了一种云存储系统的负载均衡算法,并对该算法进行了验证。算法基于层次分析法(Analytic Hierarchy Process,AHP),通过建立综合评估...

    论文研究-规则引擎系统中一种动态周期反馈和概率分配的负载负载均衡算法 .pdf

    规则引擎系统中一种动态周期反馈和概率分配的负载负载均衡算法,李传勇,,随着规则引擎不断应用于各个业务领域,其服务器的调度的策略也越来越受到人们的重视。本文针对传统的服务器调度的算法的一些不足

    第2章.分布式文件存储.md

    Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些策略找到Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务器。Storage server 作用是文件存储,...

    Linux策略路由设置

    Linux策略路由设置,关于linux服务器设置的一些文档。

    SpringCloud:Ribbon设计原理解析

    融合到微服务的一些基础设施(如Feign),不需要独立部署Ribbon会将微服务之间的Rest请求转为客户端的负载均衡的RPC调用Ribbon默认的负载均衡策略是轮询,但不止轮询一种,可以自定义配置1:微服务之间通过Feign调用...

    SpringCloud微服务-客户端负载Ribbon

    图中的nginx就是负载均衡器,我们通常称之为服务端的负载均衡,客户端不用关心自己调用的是哪个服务,只要统一访问某一个地址,负载均衡器会根据某个负载策略(权重,可用性,线性轮询等)路由到某个具体的服务器上...

    摘录自FastDFS的高性能网络通信框架 .rar

     Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。  Storage server作用是文件存储,客户端...

Global site tag (gtag.js) - Google Analytics