广域网负载均衡原理简单介绍
- 格式:doc
- 大小:248.00 KB
- 文档页数:7
负载均衡解决方案引言在计算机网络中,负载均衡是一种分配网络流量的技术,通过将流量分散到多个服务器上,以提高系统的可靠性、稳定性和性能。
负载均衡解决方案是指在实际应用中采用的一系列策略和技术,用于实现负载均衡功能。
本文将介绍负载均衡的基本原理和常见的解决方案。
负载均衡的基本原理负载均衡的基本原理是通过将用户请求分发到多个服务器上,使得每个服务器的负载相对均衡。
负载均衡可以在多个层面进行,包括应用层、传输层和网络层。
应用层负载均衡应用层负载均衡是在应用层上进行的负载均衡。
它通过解析用户请求的内容,如URL、报文头等,来进行请求的分发。
常见的应用层负载均衡算法有轮询、随机、最少连接等。
传输层负载均衡传输层负载均衡是在传输层上进行的负载均衡。
它通过解析传输层协议的头部信息,如TCP头部中的源IP地址、目的IP地址和端口号等,来进行请求的分发。
常见的传输层负载均衡算法有轮询、源IP哈希、最少连接等。
网络层负载均衡网络层负载均衡是在网络层上进行的负载均衡。
它通过解析网络层协议的头部信息,如IP头部中的源IP地址和目的IP地址等,来进行请求的分发。
常见的网络层负载均衡算法有轮询、一致性哈希等。
常见的负载均衡解决方案根据负载均衡的原理和实现方式,常见的负载均衡解决方案可以分为硬件负载均衡和软件负载均衡两大类。
硬件负载均衡解决方案硬件负载均衡解决方案是指使用专用的硬件设备来实现负载均衡功能。
这些设备通常具有高性能、高可靠性和可扩展性,并提供了丰富的负载均衡功能。
常见的硬件负载均衡设备包括F5 BIG-IP、Citrix ADC等。
硬件负载均衡解决方案适用于对性能和可靠性有较高要求的场景。
软件负载均衡解决方案软件负载均衡解决方案是指使用软件来实现负载均衡功能。
这些软件可以运行在通用的服务器上,通过使用负载均衡算法来实现请求的分发。
常见的软件负载均衡解决方案包括Nginx、HAProxy等。
软件负载均衡解决方案相对于硬件解决方案具有成本低、灵活性高等优势,适用于中小型应用场景。
数据中心网络负载均衡随着云计算和大数据时代的到来,数据中心网络的规模和负载都得到了极大的增长。
为了保证网络的可靠性和性能,数据中心网络负载均衡成为了一个非常重要的技术。
本文将从负载均衡的定义、原理、算法和应用等方面进行介绍。
一、负载均衡的定义数据中心网络负载均衡(Data Center Network Load Balancing),简称DCNLB,是指将网络流量均匀地分配到多个服务器或者多个网络路径上的一项技术。
通过负载均衡技术,可以避免个别服务器或者网络路径负载过载的问题,提高整个数据中心网络的性能和可靠性。
二、负载均衡的原理负载均衡的原理可以归结为两个主要方面:流量分发和流量监测。
1. 流量分发流量分发是负载均衡的核心。
在数据中心网络中,负载均衡器(Load Balancer)通过运行特定的算法,将客户端请求均匀地分发到多个服务器上。
常用的算法有轮询算法、加权轮询算法、最少连接算法等。
这些算法根据服务器的性能、负载情况等因素进行动态调整,以保证负载的均衡和优化用户的访问体验。
2. 流量监测流量监测是负载均衡的基础。
负载均衡器需要实时监测服务器的负载情况、网络路径的拥塞情况等,以便做出合适的负载均衡决策。
流量监测可以通过心跳检测、端口监听等方式进行,以保证系统能够及时发现问题并做出调整。
三、负载均衡的算法负载均衡的算法有多种,不同的算法适用于不同的应用场景。
在数据中心网络中,常用的负载均衡算法包括轮询算法、加权轮询算法、最少连接算法和一致性哈希算法等。
1. 轮询算法轮询算法是最简单的负载均衡算法之一。
负载均衡器按照服务器列表的顺序逐个分发请求,直到循环完整个列表。
轮询算法的优点是实现简单,公平地分配负载,缺点是无法考虑服务器的实际负载情况。
2. 加权轮询算法加权轮询算法在轮询算法的基础上增加了权重的概念。
服务器的权重可以根据其性能、配置等因素进行设置,负载均衡器按照权重比例来分发请求。
加权轮询算法的优点是可以根据服务器的实际负载情况进行动态调整,缺点是配置复杂度较高。
负载均衡器部署方式和工作原理2011/12/16 小柯信息安全在现阶段企业网中,只要部署WEB应用防火墙,一般能够遇到负载均衡设备,较常见是f5、redware的负载均衡,在负载均衡方面f5、redware的确做得很不错,但是对于我们安全厂家来说,有时候带来了一些小麻烦。
昨日的一次割接中,就遇到了国内厂家华夏创新的负载均衡设备,导致昨日割接失败。
在本篇博客中,主要对负载均衡设备做一个介绍,针对其部署方式和工作原理进行总结。
概述负载均衡(Load Balance)由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。
在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。
负载均衡实现方式分类1:软件负载均衡技术该技术适用于一些中小型网站系统,可以满足一般的均衡负载需求。
软件负载均衡技术是在一个或多个交互的网络系统中的多台服务器上安装一个或多个相应的负载均衡软件来实现的一种均衡负载技术。
软件可以很方便的安装在服务器上,并且实现一定的均衡负载功能。
软件负载均衡技术配置简单、操作也方便,最重要的是成本很低。
2:硬件负载均衡技术由于硬件负载均衡技术需要额外的增加负载均衡器,成本比较高,所以适用于流量高的大型网站系统。
不过在现在较有规模的企业网、政府网站,一般来说都会部署有硬件负载均衡设备(原因1.硬件设备更稳定,2.也是合规性达标的目的)硬件负载均衡技术是在多台服务器间安装相应的负载均衡设备,也就是负载均衡器来完成均衡负载技术,与软件负载均衡技术相比,能达到更好的负载均衡效果。
3:本地负载均衡技术本地负载均衡技术是对本地服务器群进行负载均衡处理。
该技术通过对服务器进行性能优化,使流量能够平均分配在服务器群中的各个服务器上,本地负载均衡技术不需要购买昂贵的服务器或优化现有的网络结构。
负载均衡原理
负载均衡是一种常见的网络技术,通过将网络流量分配到多个服务器上,以实现对资源的有效利用和增强系统的性能、可扩展性和可用性。
负载均衡的原理如下:
1. 请求分发:当用户发送请求时,负载均衡设备会根据特定的算法(如轮询、最少连接数、哈希等)决定将请求分配给哪个服务器处理。
2. 健康检查:负载均衡设备会定期检查每个服务器的状态和性能。
如果某个服务器出现故障或负载过高,负载均衡设备会自动将流量转移到其他可用的服务器上,以确保用户的请求可以被正常处理。
3. 会话保持:负载均衡设备可以通过不同的方法(如源IP、Cookie等)将用户的请求路由到同一个服务器上,以保持用
户会话的连续性。
这对于一些需要保存用户状态的应用程序非常重要,例如在线购物网站。
4. 扩展性和可用性:通过将流量分发到多个服务器上,负载均衡可以提高系统的可扩展性和可用性。
当用户数量增加或流量负载过大时,可以通过增加服务器数量来应对,而不会影响系统的正常运行。
总体而言,负载均衡通过有效地分配流量和监控服务器的状态,可以提高系统的性能和可靠性,同时还可以实现负载的均衡,
避免某些服务器负载过高而导致的性能下降。
这使得负载均衡成为构建高可用性和可扩展性的网络应用的重要组成部分。
双wan口路由器工作原理
双WAN口路由器是一种网络设备,它具有两个WAN口(Wide Area Network,广域网口),可以连接到两个不同的互联网服务提供商(ISP)或者同一个ISP的不同连接。
双WAN口路由器的工作原理涉及到负载均衡和容错备份两个主要方面。
首先,让我们来看看负载均衡的工作原理。
当双WAN口路由器接收到网络数据时,它会根据预先设定的策略,将数据流量分配到不同的WAN口上。
这样可以实现对网络流量的分流,从而达到负载均衡的效果。
负载均衡可以使网络流量在多个连接之间均匀分布,避免某一条线路过载,提高整体网络的稳定性和性能。
其次,双WAN口路由器还具备容错备份的功能。
如果其中一个WAN口的连接出现故障或者断开,路由器可以自动切换到另一个可用的WAN口,确保网络连接的可靠性和稳定性。
这种容错备份的机制可以保证即使一个连接出现问题,网络服务仍能够继续运行,提高了网络的可用性。
另外,双WAN口路由器通常还具有智能流量管理功能,可以根据网络流量的特点和需求,对数据进行优化和调度,提高网络的利
用率和性能。
此外,双WAN口路由器还可以支持虚拟专用网络(VPN)功能,实现远程访问和安全通信等应用。
总的来说,双WAN口路由器通过负载均衡和容错备份的机制,
实现了对多个网络连接的有效管理和利用,提高了网络的可靠性、
稳定性和性能。
这种路由器在企业和需要高可用性网络的场合具有
重要的应用意义。
负载均衡的原理负载均衡是指将多个计算机或网络资源分配给一个或多个任务,以达到最大化使用率、最小化等待时间和最大化吞吐量的目的。
负载均衡可以以多种方式实现,包括硬件和软件。
下面将按照以下列表方式详细介绍负载均衡的原理:1. 负载均衡的意义负载均衡可以帮助提高计算机系统的可靠性和性能。
通过将任务分配给多个服务器,负载可以更好地分配至各个服务器,从而避免任务过载、单个系统失效或其他问题。
2. 负载均衡的原理负载均衡可以通过几种不同的方法实现。
首要的方法是在多个服务器之间分配负载。
这可以通过多种方式实现,包括DNS解析、硬件负载均衡器、软件负载均衡器和其他技术。
3. 负载均衡器负载均衡器是硬件或软件设备,用于分配负载。
负载均衡器通常位于网络前段,充当流量入口,分配流量到多个服务器上。
该过程可以基于很多因素,如服务器的距离,负载大小等等。
4. DNS解析DNS解析可以将负载均衡作为一种轻量级方法来实现。
当DNS服务器返回多个IP地址时,客户端会尝试连接其中一个地址。
由于这些地址可能指向不同的服务器,负载会自然地分散在多个服务器间。
5. 负载均衡算法负载均衡算法是用来确定如何分配负载的算法。
最常见的算法包括轮询、加权轮询、最小连接数和最小响应时间。
从开销角度,轮询算法是最简单的算法,而加权轮询算法可以根据服务器能力进行更好的负载分配。
6. 负载均衡的策略负载均衡的策略包括基于性能、基于成本和基于可用性。
基于性能的策略通常用于高资源环境,其中负载被分配到最能处理它们的服务器上。
基于成本的策略通常用于较低成本环境,其目的是在成本最小化和服务器能力最高时平衡负载。
基于可用性的策略通常用于确保业务连续性和高可用性要求,其中负载被限制为可用服务器。
在计算机系统中,负载均衡是提高性能和可用性的必要手段。
在此列表中,我们详细介绍了负载均衡的原理和实现方法。
负载均衡可以以多种方式实现,包括DNS解析、硬件负载均衡器、软件负载均衡器和其他技术。
网络负载均衡与流量调度网络负载均衡是一种通过在多个服务器之间分配和管理负载来提高系统可用性和性能的技术。
在现代网络环境中,负载均衡成为了一种必不可少的解决方案,它能够帮助提供稳定可靠的服务,并且有效地利用资源,同时保证用户的访问体验。
一、网络负载均衡的作用与原理网络负载均衡的主要作用是将网络流量在多个服务器之间均匀分配,从而避免单一服务器过载而导致的服务质量下降。
它能够提高系统的可伸缩性和容错性,确保服务器集群能够始终保持良好的运行状态。
网络负载均衡的原理基于分发请求的算法和技术,常见的负载均衡算法包括轮询、加权轮询、最少连接和哈希等。
这些算法能够根据服务器的负载情况,动态地选择合适的服务器进行请求处理,从而达到负载均衡的效果。
二、网络负载均衡的优势1. 提高系统可用性:网络负载均衡能够将流量分散到多个服务器上,当某台服务器故障或者维护时,可以自动将流量转移到其他正常工作的服务器上,从而实现系统的高可用性。
2. 提升系统性能:通过将流量分布到多台服务器上,负载均衡可以提高系统的处理能力和吞吐量。
合理的负载均衡策略能够充分利用服务器资源,提升系统的响应速度和并发处理能力。
3. 提升用户体验:负载均衡能够有效地分配用户请求到不同的服务器上,从而避免了单一服务器的过载情况,降低了用户等待时间,提升了用户的访问体验。
三、流量调度的实现方式流量调度是网络负载均衡的重要组成部分,它能够根据业务需求和流量特点,灵活地选择合适的负载均衡策略和技术。
常见的流量调度实现方式包括硬件负载均衡器、软件负载均衡器和DNS负载均衡。
1. 硬件负载均衡器:硬件负载均衡器通常是一种专用的设备,具有高性能和可靠性。
它能够通过硬件级别的流量调度算法,将客户端请求分发到后端的服务器上。
硬件负载均衡器通常支持多种负载均衡算法和协议,可以满足各种不同的业务需求。
2. 软件负载均衡器:软件负载均衡器是在普通的服务器上运行的负载均衡软件,它通过在服务器上安装负载均衡软件来实现流量调度。
负载均衡方案
目录:
1. 负载均衡方案简介
1.1 什么是负载均衡
1.2 负载均衡的作用
1.3 负载均衡的原理
2. 常见的负载均衡算法
2.1 轮询算法
2.2 最少连接算法
2.3 最快响应算法
3. 负载均衡方案的选择
3.1 网络负载均衡
3.2 集群负载均衡
4. 负载均衡方案的实现
4.1 硬件负载均衡器
4.2 软件负载均衡器
---
负载均衡方案简介
负载均衡是一种将网络流量或工作负载分配给多个服务器或其他计算资源的技术。
通过负载均衡,可以确保每台服务器都能够平衡地处理流量,提高整体性能和可靠性。
负载均衡可以根据不同的算法来分配流量,使得每台服务器都能够高效地处理请求,避免出现单台服务器负荷过重的情况。
在一个负载均衡集群中,通常会有一个前端负载均衡器接收来自客户端的请求,并根据预定的负载均衡算法将请求分发给后端的多台服务器。
这样可以实现资源的合理分配,提高系统的整体性能。
负载均衡的原理是通过监控服务器的负载情况,根据不同的算法将请求分发给不同的服务器。
这样可以避免单台服务器负载过重,提
高系统的稳定性和可靠性。
不同的负载均衡算法适用于不同的场景,可以根据实际需求选择合适的算法来实现负载均衡。
大家都知道一台服务器的处理能力,主要受限于服务器自身的可扩展硬件能力。
所以,在需要处理大量用户请求的时候,通常都会引入负载均衡器,将多台普通服务器组成一个系统,来完成高并发的请求处理任务。
之前负载均衡只能通过DNS来实现,1996年之后,出现了新的网络负载均衡技术。
通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台服务器虚拟成一个高性能、高可用的应用服务池;再根据应用指定的方式,将来自客户端的网络请求分发到服务器池中。
网络负载均衡会检查服务器池中后端服务器的健康状态,自动隔离异常状态的后端服务器,从而解决了单台后端服务器的单点问题,同时提高了应用的整体服务能力。
网络负载均衡主要有硬件与软件两种实现方式,主流负载均衡解决方案中,硬件厂商以F5为代表目前市场占有率超过50%,软件主要为NGINX与LVS。
但是,无论硬件或软件实现,都逃不出基于四层交互技术的“转发”或基于七层协议的“代理”这两种方式。
四层的转发模式通常性能会更好,但七层的代理模式可以根据更多的信息做到更智能地分发流量。
一般大规模应用中,这两种方式会同时存在。
2007年F5提出了ADC(Application delivery controller)的概念为传统的负载均衡器增加了大量的功能,常用的有:SSL卸载、压缩优化和TCP连接优化。
NGINX也支持很多ADC的特性,但F5的中高端型号会通过硬件加速卡来实现SSL卸载、压缩优化这一类CPU密集型的操作,从而可以提供更好的性能。
F5推出ADC以后,各种各样的功能有很多,但其实我们最常用的也就几种。
这里我也简单的总结了一下,并和LVS、Nginx对比了一下。
SSL卸载和压缩优化,主要是将CPU密集型的加解密和压缩操作移到负载均衡器上进行;TCP连接优化主要指的是用户和负载均衡器短连接的同时,负载均衡器和后端服务器建立长连接。
不过我们本次主要介绍四层负载均衡,所以这些高级ADC功能不会涉及到。
负载均衡设备原理负载均衡设备是一种用于分发网络流量的网络设备,其原理如下:1. 传入流量检测:负载均衡设备会检测传入的网络流量,并记录流量的源地址、目的地址、源端口、目的端口等信息。
2. 负载均衡算法:根据特定的负载均衡算法,负载均衡设备会将传入的流量分发给多个服务器节点。
常用的负载均衡算法包括轮询、最小连接数、加权轮询等。
3. 隐藏服务器信息:负载均衡设备作为前端进行流量分发,可以隐藏后端服务器的真实IP地址和端口信息,提高服务器的安全性和可靠性。
4. 会话保持:负载均衡设备可以根据会话的特定信息(如源地址、源端口等)将同一个用户的请求分发到同一个服务器节点上,实现会话的保持性,确保用户在访问过程中可以持续和同一个服务器节点进行通信。
5. 响应监控和故障检测:负载均衡设备会监控服务器节点的响应时间、负载情况和服务器的健康状态。
当某个服务器节点发生故障或负载过高时,负载均衡设备可以将流量分发到其他正常的节点上,从而保证系统的稳定性和可靠性。
6. 动态调整:根据实际的网络流量情况和服务器节点的负载情况,负载均衡设备可以动态调整流量的分发策略,从而实现对系统整体性能的优化和提升。
总之,负载均衡设备通过智能的流量分发机制、会话保持和服务器健康检测等策略,可以有效地提高系统的可扩展性、性能和可靠性,同时减轻服务器的压力和提高用户的访问速度。
当负载均衡设备收到客户端的请求时,它会根据事先设定好的负载均衡算法,选择一个合适的服务器节点来处理该请求。
负载均衡算法的选择要考虑服务器节点的负载情况、网络延迟、服务器性能等因素。
有几种常见的负载均衡算法:1. 轮询(Round Robin):按照事先设定好的顺序,轮流将请求分发到各个服务器节点上。
这种算法适用于服务器性能相对均衡的情况。
2. 最小连接数(Least Connections):将请求分发到当前连接数最少的服务器节点上。
这种算法适用于服务器性能不均衡的情况,可以更加合理地分配流量。
广域网负载均衡
多链路广域网负载均衡
(1)Inbound多链路负载均衡算法策略:RTT+Topology+RoundRobin
具体描述:
当外部用户访问九州梦网网站时,首先由F5的3DNS对客户端的LDNS进行RTT(Round Trip Time)探测,对比从两条链路返回的探测结果(可以从统计列表中看到),选择一条返回值小的链路IP地址返回给客户端,从而客户端再发起访问请求;当F5的3DNS探测不到客户端的LDNS(由于LDNS安全防护等原因)时,F5的3DNS自动启用Topology算法,来静态匹配客户端的LDNS地理位置,从而根据客户端的来源,返回正确的A记录;当探测不到的LDNS又不在地址列表中时,F5 3DNS自动启用Global Availability 算法作为默认算法,将所有无法计算结果并且不在Topology范围之内的LocalDNS请求,定义到系统的默认线路上。
F5 的3DNS具备二十多种Inbound算法,可以根据需要进行组合。
①RTT算法运行机制:
通过3DNS的RTT就近性算法会自动运算生成一个ldns就近分布表,通过这个动态的表,每个客户上来都会提供一个最快速的链路进行访问,由于站点有ISP1和ISP2的两条广域网线路。
在3DNS上会针对站点服务器(以 为例)解析ISP1和ISP2的两个不同的公网地址。
对应于域名,在3DNS上配置wideip:,对应两个Virtual Server:VS1:202.106.83.177,VS2:219.17.66.100。
分别属于ISP1和ISP2两条线路分配的IP地址段。
在3DNS内部,同时定义两个DataCenter分别与ISP1和ISP2相对应。
用户的访问流程如下:
访问的用户在发起DNS请求时
(1)首先向其所在运营商的Local DNS发起域名的DNS请求。
步骤2
(2)运营商的Local DNS服务器通过递归算法查找到工行的主、辅DNS服务器。
步骤3和4。
(3)接受到请求的3DNS首先查询在本地是否有该LocalDNS的就近性表项,如果存在,则直接给LocalDNS返回速度最快的服务器
地址。
如果不存在,则通知另外一台3DNS发起对该LocalDNS
的查询。
步骤5。
(4)两台3DNS分别对LocalDNS进行Probe。
例如ISP1侧3DNS查询该LocalDNS的RTT时间为150ms,而ISP2侧3DNS查询同一
LocalDNS的RTT时间为300ms,则此时在两台3DNS内都形成
了该LocalDNS的对应就近性表记录。
(5)接受到LocalDNS请求得3DNS根据系统的就近性表返回相应的DataCenter内的WEB服务器地址。
步骤6。
(6)在用户LocalDNS获得地址后,将该地址返回给用户。
步骤7
(7)用户向网站发起访问。
步骤8。
通过以上流程可以看出,通过动态计算方式,可以最为准确的估算出用户LocalDNS与两条线路之间的速度。
通过3DNS之间的信息交互,在两台3DNS上形成就近性表,并根据该表返回用户的最佳访问地址。
3DNS可以选择多种测试方法判断对local DNS的RTT时间, 包括:
●DNS_Dot: 向local DNS发起一个包含”.”的测试, 也就是向目标
LocalDNS请求root清单,该解析一般默认配置的DNS服务器均提供支
持。
●DNS_REV: 向local DNS发起LocalDNS本机IP的PTR请求
●UDP:发起一个UDP的包, 看是否回应
●TCP:发起一个TCP的包看是否回应
●ICMP:发起一个ICMP 的ping 包, 看是否回应
在以上各检测方式中,无论目标系统返回那种类型的数据包,3DNS均可认为是有效数据包而记录数据包往返时间,最终形成就近性表。
针对一个local DNS 的RTT结果:
ldns {
address 61.136.178.229
cur_target_state 419446729
ttl 2419199
probe_protocol tcp
path {
datacenter "CNC"
cur_rtt 189850
cur_hops 0
cur_completion_rate 10000
cur_last_hops 0
}
path {
datacenter "TEL"
cur_rtt 57209
cur_hops 0
cur_completion_rate 10000
cur_last_hops 0
}
}
通常情况下,我们选择RTT动态算法作为优选算法,只要是3DNS能检测到的地址,一律按照动态算法分配,保证系统最大的灵活性。
在实际的运行环境中,可能存在某些LocalDNS无法检测的情况,所以我们可以采用地理分布算法作为动态RTT算法的有效补充。
②地理分布算法
在3DNS上,可以根据用户的LocalDNS地址来决定给用户返回那个地址。
在3DNS上可配置多个自定义区域,并将这些区域与链路相对应。
当用户的LocalDNS发起请求连接3DNS的时候,3DNS将根据LocalDNS所位于的区域返回给LocalDNS适当的链路侧服务器地址,引导用户从正确的线路进行访问。
在该算法下,需要收集各运营商的IP地址网段表。
将网段进行整理后输入到3DNS内形成自定义区域表。
一个典型的topology表结构如下:
topology { // 4 Items
// server ldns score
dc."CNC" 202.106.0.0/16 100
dc."TEL" 219.172.0.0/16 100
dc."CNC" 200.100.0.0/16 100
}
这样,就将所有从表中ldns网段内的LocalDNS请求有限定一到相应的表中对应的链路上。
通常,我们采用地理分布算法作为第二算法。
当动态检测机制无法检到LocalDNS就进性的时候,将启动静态算法,将在地址范围列表之内的用户定义到正确的线路上去。
如果用户的LocalDNS即不可被动态RTT计算所检测,又不在本机对应的地理分布表中。
此时就需要采用全球可用性算法引导用户到默认的线路上。
③全球可用性算法
全球可用性算法主要用于灾难备份系统。
通过3DNS的健康检查算法,可判断各站点或线路的健康状态。
并在配置的时候,将同一域名所对应的IP地址进行排序,在系统正常的时候,仅会有排名第一的服务器对外提供服务。
只有在排名第一的服务器无法对外提供服务的时候,由排名第二的服务器接管服务。
如果有多线路或者多站点则依次类推。
通常,我们采用全球可用性算法作为第三选择算法。
在动态计算和地理分布均没有命中的时候,将所有的用户定义到默认的线路上。
(2)链路健康检查机制
两台3DNS分别检查本地端的服务器地址和对端线路的服务器地址。
这些服务器地址实际上为BIGIP上配置的内部服务器的对外服务地址(如下示意图)。
当一条线路出现故障的时候,两台3DNS服务器均无法检测到对端线路的地址。
所以在每台3DNS服务器上均只解析本侧线路对应的服务器地址(如下示意图)。
但在此时故障线路的3DNS服务器无法接受请求,根据DNS的冗余机制,所有的用户请求均会发送到正常线路侧的3DNS,所以此时所有的用户均将通过正常的线路进行访问。
(3)系统切换时间
在采用DNS实现链路切换时,系统的切换时间主要取决于每个域名的TTL 时间设置。
在3DNS系统里,每个域名如均可设置对应的TTL 生存时间。
在用户的LocalDNS得到域名解析纪录后,将在本地在TTL设定时间内将该域名解析对应纪录进行Cache,在Cache期间所有到该LocalDNS上进行域名解析的用户均将获得该纪录。
在TTL时间timeout之后,如果有用户到LocalDNS上请求解析,则此LocalDNS将重新发起一次请求到3DNS上获得相应纪录。
因此,当单条线路出现故障时,3DNS将在系统定义的检查间隔(该时间可自行定义)内检查到线路的故障,并只解析正常的线路侧地址。
但此时在LocalDNS上可能还有未过时的Cache纪录。
在TTL时间timeout之后,该LocalDNS重新发起请求的时候就将从3DNS上获得正确的解析,从而引导用户通过正常的线路进行访问。
系统检测间隔加上TTL时间之和则为系统切换的最长时间。
通常,系统检测间隔设置为60秒,而TTL时间设置为600秒,所以系统切换的整体时间为11分钟。
(4)根据带宽负载情况,限制流量
当每条链路上Inbound的流量超过预先设定的阀值时,会分配流量给其它链路。