你还别不信,大把网工还不懂:全局负载均衡与 CDN 内容分发!( 二 )


基于DNS的GSLB
用户访问某个网站时,需要首先通过域名解析服务(DNS)获得网站的IP 。域名解析通常不是一次性完成的,常常需要查询若干不同的域名服务器才能找到对应的IP 。如下图所示,用户首先在本地配置一个本地DNS服务器地址,本地DNS服务器收到DNS请求后若不能解析,会将请求转发给更高一级的DNS服务器直到找到域名对应的IP或确定域名不存在 。

你还别不信,大把网工还不懂:全局负载均衡与 CDN 内容分发!

文章插图
对于加入了GSLB的情况,一个GSLB设备(可能是一个4层交换机)会最终代替DNS服务器完成域名解析 。下图展示两种流程的不同 。
基于DNS的GSLB优缺点
  • 优点
实现简单、实施容易、成本低 。
  • 缺点
当GSLB设备采用“用户就近访问”的原则作为选择最优服务器的策略时,会存在判断不准的现象 。原因是在这种策略下,GSLB设备是根据用户IP地址和内容服务器IP地址比较来判断其就近性的,但由于DNS响应是通过本地DNS服务器到达用户的,GSLB设备实际上只能得到用户的本地DNS服务器地址,若用户指定的DNS服务器IP不能正确代表用户的实际位置,就会出现判断不准的现象 。
基于HTTP重定向的GSLB
为了解决基于DNS实现方式判断不准的问题,又出现了基于HTTP重定向的GSLB 。这种方案中GSLB使用HTTP重定向技术,将用户访问重定向到最合适的服务器上 。
你还别不信,大把网工还不懂:全局负载均衡与 CDN 内容分发!

文章插图
使用基于HTTP重定向方案,首先在DNS中将GSLB设备的IP地址登记为域名的A记录(既域名对应的IP) 。如上图所示,用户首先通过DNS得到GSLB设备的IP地址,此时用户以为这就是站点服务器的IP,并向其发送HTTP请求 。GSLB设备收到HTTP请求后使用一定策略选择一个最合适的服务器,然后GSLB设备向用户发送一个HTTP重定向指令(HTTP302),并附上选出的服务器的IP地址 。最后,用户根据重定向IP访问站点的服务器 。
基于HTTP重定向的GSLB优缺点
  • 优点
由于直接向用户发送HTTP重定向指令,可以得到用户的真实IP,从而解决了判断不准确的问题 。
  • 缺点
只能为HTTP访问重定向 。
基于IP欺骗的GSLB
HTTP重定向方案解决了判断不准确的问题,但只能针对HTTP协议应用使用 。对于HTTP协议以外的访问,就需要使用基于IP欺骗(又称三角传输)的GSLB 。
你还别不信,大把网工还不懂:全局负载均衡与 CDN 内容分发!

文章插图
基于IP欺骗的方案同样需要首先将GSLB设备的IP地址在DNS中登记为域名的A记录,这样用户对该域名的请求包都会先发送到GSLB设备 。如上图所示,GSLB设备首次收到服务请求包后,会选择一个最合适的服务器,并将服务请求包发送到该服务器 。服务器在向用户发送响应包时,将其源IP地址字段改为GSLB设备的IP,发送给用户 。
这样,整个过程对用户来说,感觉到的只是GSLB设备在为其提供服务,并不知道其中经历这样一个三角传输的过程 。而且这种方案可以对所有类型的访问如HTTP、FTP等进行重定向,但其速度和效率相对比前两种方案要差一点,因为用户所有的访问请求都通过三个点才能响应,经历了更多的路径和处理,所以其主要作为HTTP重定向方案的补充方案在同一GSLB设备中实现 。
服务器群选择策略
上文中介绍的三种方案,解决了如何将用户引导到指定服务器群的问题,而在此之前首先需要使用某种方式选出最适合用户的服务器群,也就是GSLB在选择服务器群时所采用的策略 。接下来介绍一些常用的GSLB策略 。
  1. 地理区域或用户自定义区域:将若干条IP地址前缀划分一个区域为 。根据用户本地DNS的IP地址,将特定IP范围的用户优先分配到某个通过健康检查的站点 。
  2. IP地址权重:可以为DNS应答中的每个IP地址分配权重,权重决定与其他候选IP相比分配到该IP的流量比例 。
  3. 往返时间(Round Trip Time, RTT):RTT策略是基于区域之外最常用的策略 。有两种模式的RTT测量:Active RTT测量与Passive RTT测量 。在实际部署中,由于网络限制和性能原因,Active RTT往往无法使用,Passive RTT更实用一些 。
a) Active RTT 测量:
当GSLB Controller收到来自LDNS的DNS请求时,GSLB Controller会通知所有站点负载均衡设备对该LDNS进行RTT测量 。根据采集到的RTT值,GSLB Controller会选择RTT值最小的站点的VIP返回给LDNS 。
由于Active RTT采用DNS Query或ICMP进行RTT测量,在有些网络中可能会被安全策略所过滤而无法工作 。


推荐阅读