负载均衡分全局负载均衡和本地负载均衡。
地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。
循环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文件的访问请求,如果收到错误信息,则认为服务器出现故障。
相关推荐
"5G核心网的负载均衡策略" 在 5G 核心网中,负载均衡策略是一个关键因素,可以提高网络运营效率和服务质量。基于服务化架构和接口的网元是 5G 核心网和 4G 的主要区别之一。因此,在分析 5G 核心网的负载均衡策略时...
本文深入探讨了各种负载均衡策略,帮助读者理解如何根据不同的场景和需求选择合适的策略。 首先,负载均衡策略的核心在于算法和网络状态监测。轮循均衡是最基础的策略,它将请求按顺序分配给服务器,适用于服务器...
在分布式服务架构中,Dubbo作为一个高性能、轻量级的Java RPC框架,其核心功能之一就是提供服务的负载均衡策略。负载均衡的主要目的是在多台服务器之间合理分配请求,以达到优化资源使用、提高系统吞吐量、降低响应...
如果需要动态调整服务实例的权重,可以使用 Eureka 的心跳机制,在服务实例的心跳信息中包含权重信息,然后在 Ribbon 客户端接收到心跳更新时,更新本地的负载均衡策略。 4. **整合 Feign** 如果你的应用使用了 ...
《基于SDN的动态负载均衡策略》是一篇探讨如何在软件定义网络(SDN)环境中解决控制器负载不均衡问题的研究文章。SDN是一种新型的网络架构,它将控制平面和数据平面分离,允许集中化的网络管理和策略制定。然而,...
在分布式服务框架 Dubbo 中,负载均衡策略是关键特性之一,它用于在多个服务提供者之间分配请求,以优化系统性能并确保服务的高可用性。本篇文章将深入探讨Dubbo提供的五种负载均衡策略,并简要介绍Dubbo的注解开发...
集中式负载均衡策略通常有一个中心节点来管理所有的调度决策,这种方法简单明了,但存在单点故障风险,且随着计算节点规模的增加,中心节点的处理能力和网络瓶颈将限制系统的可扩展性。相对而言,分布式负载均衡策略...
### 一种OpenFlow网络的流量负载均衡策略 #### 摘要与背景 随着数据中心规模的不断扩大和技术的进步,网络架构面临着一系列挑战,其中包括负载不均衡、带宽利用率低下以及网络性能不佳等问题。这些问题严重制约了...
根据提供的文件信息,以下是关于“一种高效的分布式爬虫系统负载均衡策略”的详细知识点: 分布式爬虫系统是一种网络爬虫,它能够分布式地收集网络信息,这在大数据时代下有着广泛的应用。随着网络数据量的不断增大...
以下是对多种负载均衡策略的详细解释: 1. 数据链路层负载均衡:在OSI模型的第二层,负载均衡可以通过数据包的目的MAC地址来决定其通过哪条链路传输。这种方式可以避免单个链路过载,提高网络带宽利用率。 2. 网络...
本文针对这一问题,提出了一种基于副本角色的动态负载均衡策略,并将此策略应用在了Apache Kafka这类分布式流处理平台上。 在分布式消息系统中,消息的读写和存储是其主要功能。为了实现有效的负载均衡,研究者们...
网管业务特征的负载均衡策略研究主要集中在如何在面对大量用户业务时,通过合理分配计算资源来优化网络管理服务。负载均衡的核心在于通过算法来决定如何将网络流量和请求合理地分配给不同的服务器或服务节点,以便...
针对SDN多控制器负载均衡过程中交换机迁移僵化和迁移冲突问题,对现有的交换机迁移模型实施优化,提出了一种阶段式控制器负载均衡策略。在阶段1,综合控制器的各类开销代价,基于遗传算法优化迁移目标,选取交换机...
Nginx的负载均衡策略配置是其反向代理功能的一个重要组成部分,以下详细介绍了几种常见的Nginx负载均衡策略。 首先,轮询策略是最基本的一种负载均衡方法,也是Nginx默认的负载方式。在这种策略下,Nginx会按照请求...
并行与分布式计算动态负载均衡策略综述的知识点: 一、并行与分布式计算基础 并行与分布式计算是现代计算机科学中的重要分支,主要针对大规模、复杂的数据处理和计算任务。随着计算机硬件的发展,多核处理器成为...