2.6.1 全局DNS智能解析负载均衡
当某应用在全球各个地点设置多个数据中心(站点)时,全局范围内即存在多个服务器同时提供服务,DNS智能解析可以引导广域网范围内的不同用户访问最优服务器,使流量正确分担到各个站点,实现全局各站点的负载均衡。 1. 实现原理
全局DNS智能解析负载均衡中,GLB设备作为DNS解析的权威服务器记录域名与全局所有虚服务器(包括本地和远程虚服务器)IP地址的映射关系。一个域名可以映射为多个IP地址,其中每个IP地址对应一台虚服务器。 用户通过域名方式请求服务时,要先进行DNS解析。本地DNS服务器将用户的域名解析请求转发给本地的GLB设备(即权威DNS服务器),本地GLB设备根据全局调度算法从全局下的所有可用虚服务器中选举出最优虚服务器,并将该最优虚服务器的IP地址作为DNS解析结果反馈给用户,用户向该IP地址请求服务。 2. 工作流程
图17 全局DNS智能解析负载均衡流程图
表7 全局DNS智能解析负载均衡流程描述
步骤 (1) (2) 说明 用户通过域名请求服务时,首先要进行DNS解析,向其本地DNS服务器发送DNS请求 本地DNS服务器将DNS请求转发给域名对应的权威DNS服务器——GLB设备 GLB设备根据DNS请求的域名,按照全局调度算法在全局所有可用的虚服务器中选举出最优虚服务器,并将该最优虚服务器IP地址作为域名解析结果 GLB设备按照域名解析的结果,将DNS应答发送给本地DNS服务器 本地DNS服务器将解析结果转发给用户 备注 - - GLB设备上的全局服务引用的虚服务的负载均衡深度可以为4层或7层 - - (3) (4) (5)
3. 技术特点 · 全局DNS智能解析负载均衡能引导广域网范围内的用户访问最优站点,只要进行适当配置,就可以为全球不同地点的用户带来更好更快速的服务体验。 · 全局DNS智能解析负载均衡优先于本地Inbound链路负载均衡,但二者可以配合使用。当全局DNS智能解析负载均衡不可用时,本地Inbound链路负载均衡依然可以在本地站点中进行链路负载均衡,进一步增强全局各站点服务的可靠性。 2.6.2 HTTP重定向和RTSP重定向
GLB设备也可能不对外提供DNS智能解析,而是针对某种特定应用进行全局负载均衡,例如只对外提供HTTP业务的负载均衡或RTSP业务的负载均衡。由于全局HTTP重定向负载均衡和全局RTSP重定向负载均衡在实现原理上基本一致,故本文仅以全局HTTP重定向负载均衡为例进行详细介绍。
当用户通过IP地址向某站点服务器请求提供HTTP服务,而该服务器不能提供服务时,全局HTTP重定向负载均衡可将该HTTP请求重定向到全局中其他站点可用的最优服务器上,引导用户向最优服务器请求服务。 1. 实现原理
用户通过IP地址向某站点(如图16中的GLB device(Local))上的某虚服务器请求HTTP服务,首先客户端与虚服务器完成TCP三次握手,接着向该虚服务器发送HTTP请求报文。此时,GLB设备先根据本地服务器负载均衡策略选取为用户提供服务的服务器。若选取成
功,则直接按照本地服务器负载均衡的流程处理;若选取失败,GLB设备将根据全局调度算法从所有可用的远程虚服务器中选举出一台最优虚服务器,并用该最优虚服务器的IP地址作为重定向的目的IP地址构造HTTP重定向报文反馈给客户端。用户收到HTTP重定向报文后,向选取出的最优虚服务器请求HTTP服务,先与最优虚服务器完成TCP三次握手,然后向其发送HTTP请求报文,由相应的GLB设备通过其本地服务器负载均衡策略选取服务器为用户提供服务。 2. 工作流程
图18 全局HTTP重定向负载均衡流程图
表8 全局HTTP重定向负载均衡流程描述
步骤 (1) (2) (3)
说明
用户通过虚服务IP地址向其本地GLB设备发送TCP连接建立请求,经过三次握手,成功建立TCP连接
用户向其本地GLB设备发送HTTP请求报文 本地GLB设备根据本地服务器负载均衡选取实服务,由于本地的实服务繁忙或不可用,选取失败,进入下面的全局负载均衡流程
本地GLB设备根据虚服务IP地址匹配出相应的全局服务,按照全局服务中指定的调度算法从全局所有可用的远程虚服务器中选取出最优远程虚服务器
本地GLB设备向用户回复HTTP重定向报文,将选取出的最优远程虚服务器的IP地址作为重定向的目的IP地址
备注 - - -
(4)
本地GLB设备上的全局服务引用的虚服务的负载均衡深度须为7层
(5) -
步骤 (6) (7) (8) 说明 用户收到HTTP重定向报文后,向位于远程GLB服务器上的新服务器地址发送TCP连接请求,经过三次握手,成功建立TCP连接 用户向新服务器地址发送HTTP请求报文 远程GLB设备收到HTTP请求后,根据其本地服务器负载均衡策略选取出可以提供HTTP服务的实服务 远程GLB设备将HTTP请求转发给选取出的实服务对应的实际提供服务的服务器 服务器向远程GLB设备回复HTTP响应报文 远程GLB设备将HTTP响应报文转发给用户 备注 - - 远程GLB设备上的全局服务引用的虚服务的负载均衡深度须为7层 - - - (9) (10) (11)
3. 技术特点 · 全局HTTP重定向负载均衡可以在用户访问的本地服务器不可用的情况下,正确地将用户请求重定向远程最优服务器上,有效保证了HTTP业务的持续性和可靠性。 · 全局HTTP重定向负载均衡巧妙地借助了HTTP协议固有的重定向功能,将通过全局调度算法从所有可用的远程服务器中选举出的最优服务器IP置于HTTP重定向报文中,并反馈给用户,实现全局范围内的HTTP重定向。 2.6.3 IP智能转发
HTTP和RTSP报文重定向都只适用于特定的协议,而对于用户所需要的其他没有重定向功能的应用,则无法实现全局负载均衡。所以其他协议需要另外的方法处理来协助完成全局负载均衡功能的实现,IP智能转发便是一种有效的手段。 1. 实现原理
当某一站点服务器A(本地GLB设备)接收到用户的业务请求报文,而本地服务器无法为其提供相应服务时,本地GLB设备将根据全局调度算法从所有可用的远程虚服务器中选举出一台最优虚服务器,并将该业务请求报文通过GRE隧道转发给最优虚服务器所在的远程GLB设备。远程GLB设备收到转发过来的业务请求报文后,对其进行有效处理,并将业务应答报文的源IP填充为服务器A的IP地址,直接反回给用户。这样,用户便能获得相应的服务。
2. 工作流程
图19 全局IP智能转发负载均衡流程图
表9 全局IP智能转发负载均衡流程描述
步骤 (1) (2) 说明 用户向本地GLB设备发送普通IP请求报文 本地GLB设备根据本地服务器负载均衡选取实服务,由于本地的实服务繁忙或不可用,选取失败,进入下面的全局负载均衡流程 本地GLB设备根据虚服务IP地址匹配出相应的全局服务,按照全局服务中指定的调度算法从全局所有可用的远程虚服务器中选取出最优远程虚服务器 本地GLB设备通过GRE隧道将IP请求报文转发给最优的远程虚服务器所在的GLB设备 备注 目的IP为Local VSIP - (3) 本地GLB设备上的全局服务引用的虚服务的负载均衡深度须为4层 (4) (5) 远程GLB设备收到转发过来的IP请求报文后,远程GLB设备上的全局服务引根据其本地负载均衡策略选取出可以提供服务用的虚服务的负载均衡深度须的实服务 为4层 远程GLB设备将IP请求报文转发给选取出的实服务对应的实际提供服务的服务器 服务器向远程GLB设备回复应答报文 远程GLB设备将应答报文转发给用户 - - 源IP填充为Local VSIP (6) (7) (8)
3. 技术特点 · IP智能转发可以对任何业务报文进行智能转发,实现所有IP业务流量的全局负载均衡,增强全局各种服务的可靠性和连续性。 · IP智能转发虽然是一种“三角转发”模式(即“客户端>>本地GLB设备>>远程GLB设备>>客户端”),但其对于客户端具有高度透明性,客户端无须进行任何配置,用户在访问过程中也无须进行任何多余的操作。