域名解析是我们浏览网络的基础,也是网络建立发展的基石。那么如何对庞大的域名解析系统进行管理和优化呢?我们可以使用负载均衡技术,通过这种技术的调和,使DNS更加合理化。那么具体的相关内容让我们一起看文中是如何解释的吧。
一、解析负载均衡
a、最早实现负载均衡功能的可能是DNS机制。
DNS配置中,有多个IP地址对应同一个域名时,DNS服务器就用Round Robin算法(轮询)把某一个IP地址返回给用户,从而在一定程度实现了负载均衡。
b、类F5BIG-IP(3DNS)设备
可以将这类设备看做”硬件的DNS服务器“,用户要访问的域名由BIG-IP/3DNS负责解析。这个域名对应一组IP(或者叫IPPool),BIG-IP通过各种负载均衡策略,给用户返回不同的IP地址,一般是返回用户就近的地址,同时实现负载均衡。
二、4、7层交换负载均衡
a、***类为负载均衡交换机,就是常说的4、7层交换机,像Alteon、Arrowpoint和Foundry等。简单说来,有负载均衡功能的交换机是把传统的2、3层交换的功能扩展到更高层(其实就是既分析IP包头,又看包里的内容)。通常,因为基于交换的设备没有什么代码,又是基于ASIC的,所以交换机会提供较好的性能和较高的可靠性。
b、第二类为基于PC服务器的产品,像F5、Radware和Intel等,这类产品在吞吐量和并发上会有性能的瓶颈。
c、第三类为基于服务器端的软件代理工具,这类产品是运行在每台服务器上的特殊软件,如LVS(4/7层),Haproxy(7层)等。由于软件是依赖于平台的,当服务器上装有别的软件时,可能会在可靠性及其他性能上有所下降。
三、趋势
前面介绍的全是在本地如何做到负载均衡。现在明显的趋势是:比较大的站点都是由跨网络、跨地域的许多服务器组成的。形成这种局面的主要原因有2个,一个是高可靠性。当我们在一个地点采用负载均衡等技术后,在该地的工作我们已经做得很好了,但问题是如果这个地方的访问量大到超过设计容量、托管数据中心的Internet接入慢了或断了,那我们的站点就会受到影响。另一个是使客户能更快地访问到信息。我们在服务器端做了许多工作,响应能力很强。但由于Internet的延时,对客户的响应时间还有可能太长。中国如何做到跨网络、跨地域的服务器之间负载均衡呢?使用全球负载均衡Global Server Load Balance,GSLB)技术就可以做到。前面,我们曾介绍了用DNS做负载均衡,但采用DNS的缺陷在于它不能让用户去访问最近、最快的服务器。GSLB如何做到这一点呢?全球平衡设备就充当授权域名服务器的角色。它们互相通讯,根据各种参数智能地选择某个站点,答复本地DNS,而不是机械地给出列表上的下一个IP地址。
用DNS框架解决GSLB有2个问题。首先,DNS解析会占用较长的时间,使对最终用户的响应时间变长。因为DNS的体系就是层次的,一般请求都要经过几个域名服务器后才会到达授权域名服务器,从而得到应答。其次,不同的GSLB产品使用不同的准则来确定客户端最终访问的服务器。通常,全球平衡设备是根据本地DNS的信息确定该选中哪个服务器。实际上,全球平衡设备见不到真正的客户端,只能见到转发解析请求的本地DNS。
用DNS框架解决GSLB的一个好处是可以平衡各种类型的流量。如果是HTTP应用,GSLB产品可以用HTTP的重定向来确定提供服务的服务器,加速响应。客户端的请求发到全球负载均衡设备上,由全球负载均衡设备再把请求用HTTP重定向发到恰当的服务器上。这种方式的优点在于:首先,负载均衡设备直接与客户端链接,这样在重定向时可以有准确的信息来判断。其次,HTTP的重定向会节省时间。因为在这种方式下,只需要建立2个TCP链接,一个是从客户端到负载均衡设备,另一个是从负载均衡设备到真正提供内容的服务器。而DNS方式需要建立3个链接,一个是从本地DNS到平衡设备,一个是从平衡设备到客户端,还有一个是从客户端到真正提供内容的服务器。HTTP重定向的缺陷是很明显的:它只能平衡HTTP包,不能平衡FTP等流量,更别说音频、视频了。
无论用哪种方法解决GSLB,都要确定到底是由哪个服务器最终响应客户请求。一般说来有5个准则:接近程度、响应时间/延时、丢包情况、本地服务器的负载和本地服务器的健康情况。前3个衡量网络链路的性能,剩下的2个表示单个服务器的性能和状态。
大多数情况下,平衡设备都用客户本地的DNS服务器与应用服务器之间路由器的跳数表示接近程度。由于Cisco独特的技术,它可以根据BGP、IGP和OSPF等协议获得网络拓扑信息和路由信息,从而得知哪个应用服务器离客户端的本地DNS最近。另外一些产品允许手动设定接近程度。这个手段使得人们可以设定策略来限制某些流量流入到特定的网络上,比如由于国际链路很贵,能在国内访问的请求就可以限定在国内。
发表评论