总结DNS服务器负载均衡配置的原理及优缺点

segmentfault   发布时间:2016-06-21 10:18:18   作者:joyqi   我要评论
当网站的访问量大了就会考虑负载均衡,DNS的负载均衡可以做到故障转移,也可以按地区解析等等,以下就来总结DNS服务器负载均衡配置的原理及优缺点

负载均衡技术能够平衡服务器集群中所有的服务器和请求应用之间的通信负载,根据实时响应时间进行判断,将任务交由负载最轻的服务器来处理,以实现真正的智能通信管理和最佳的服务器群性能,从而使网站始终保持运行和保证其可访问性。
为了充分利用现有服务器软件的种种优势,负载均衡最好是在服务器软件之外来完成。而最早使用的负载均衡技术是通过DNS服务中的随机名字解析来实现的。这就是通常所说的DNS负载均衡技术。
DNS负载均衡技术的实现原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。

DNS负载均衡的基本原理
1.dns系统本身是一个分布式的网络,它是相对可靠的,起码比你网站本身可靠的多
2.dns的最终解释是可以受我们自己控制的
有了这两条结论,剩下的事情就简单了,我们只需要在最终解释的查询结果上做文章就可以了。简单来说,就是将你的所有服务器地址,按照自己需求制定的频次,返回给用户。
以github.com为例,我们首先获取它的SOA服务器(因为dns缓存查询服务器会缓存结果,如果你直接去查询域名,会每次返回一样的结果),.com的dns域名服务器也是13台,它们是[a-m].gtld-servers.net,我们随便选一台来找找github.com的SOA
2016621101937058.png (800×798)

OK,我们获取了四个SOA服务器ns[1-4].p16.dynect.net,再随便选一个来问问github.com对应的记录吧,顺便试几次看看最终的ip地址会不会变化
2016621102003738.png (447×800)

我们这里查询了两次,注意ANSWER SECTION部分返回了两个结果,一次是192.30.252.129,一次是192.30.252.128。
这就是利用dns实现了负载均衡,你的最终访问会到达不同的ip地址。

有哪些DNS服务商支持负载均衡呢?
这是一种比较高级的服务,一般域名注册商的dns服务器不会支持,目前我已知支持它的服务商有
1.AWS Route 53
2.NSONE
3.Dyn
4.dnspod
其中1和4是我们已经在使用的,效果比较理想。
直到现在,很多网站仍然使用DNS负载均衡来保证网站的运行和可访问性。从其实现和效果来看,主要有以下优缺点:

主要优点
这种技术的主要缺点如下:
第一,技术实现比较灵活、方便,简单易行,成本低,适用于大多数TCP/IP应用。不需要网络专家来对之进行设定,或在出现问题时对之进行维护。
第二,对于Web应用来说,不需要对代码作任何的修改。事实上,Web应用本身并不会意识到负载均衡配置,即使在它面前。
第三,Web服务器可以位于互联网的任意位置上。

主要缺点
DNS负载均衡技术在具有以上优点的时候,其缺点也非常明显,主要表现在:
第一,不能够按照Web服务器的处理能力分配负载。DNS负载均衡采用的是简单的轮循负载算法,不能区分服务器之间的差异,不能反映服务器的当前运行状态。所以DNS服务器将Http请求平均地分配到后台的Web服务器上,而不考虑每个Web服务器当前的负载情况。如果后台的Web服务器的配置和处理能力不同,最慢的 Web服务器将成为系统的瓶颈,处理能力强的服务器不能充分发挥作用。不能做到为性能较好的服务器多分配请求,甚至会出现客户请求集中在某一台服务器上的情况。
第二,不支持高可靠性,DNS负载均衡技术没有考虑容错。如果后台的某台Web服务器出现故障,DNS服务器仍然会把DNS 请求分配到这台故障服务器上,导致不能响应客户端。
第三,可能会造成额外的网络问题。为了使本DNS服务器和其他DNS服务器及时交互,保证DNS数据及时更新,使地址能随机分配,一般都要将DNS的刷新时间设置的较小,但太小将会使DNS流量大增造成额外的网络问题。
第四,一旦某个服务器出现故障,即使及时修改了DNS设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器。

总结
从上面的总结我们可以看出,总体来说,DNS负载均衡技术方案不应该算是真正意义上的负载均衡,不能够稳定、可靠、高效地满足企业对Web服务器的需求,也不能满足网络用户对网站访问的及时响应和可用性,所以现在很多Web站点方案中,已经很少采用这种方案了。

相关文章

  • Win7系统无法清除DNS缓存的解决方法

    用户在遇到网络问题的时候,经常会先清除DNS缓存来解决。但最近有朋友们却遇到无法清除DNS缓存的问题,如何解决这个问题呢?下面一起跟小编来看看吧
    2016-06-20
  • Win10系统怎么使用花生壳DDNS端口映射做内网穿透?

    Win10系统怎么使用花生壳DDNS端口映射做内网穿透?什么是内网穿透?内网穿透就是过端口映射将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,让互联网用户可以访问
    2016-06-17
  • Win10怎么清理DNS缓存? Win10快速清理dns缓存的命令

    当我们遇到电脑突然连不上网,很大的原因是dns缓存延时导致的,我们只需要执行dns缓存清理命令来更新dns缓存来解决。接下来通过本文给大家介绍Win10快速清理dns缓存的命令
    2016-05-23
  • Network Solutions的域名购买及DNS解析设置教程

    Network Solutions经常推出0.99美元的域名购买优惠活动,而且优惠包括大量.com顶级域名,吸引了很多用户,这里就来为大家整理一下Network Solutions的域名购买及DNS解析设置教
    2016-05-13
  • 在EuroDns上注册域名的简明教程

    这篇文章主要介绍了在EuroDns上注册域名的简明教程,EuroDNS可提供的域名后缀相当丰富,经常翻GoDaddy的朋友也不妨去EuroDNS瞅瞅中意的域名~需要的朋友可以参考下
    2016-04-20
  • 在Dynadot上购买域名及设置域名解析转移的教程

    这篇文章主要介绍了在Dynadot上购买域名及设置域名解析转移的教程,相比Godaddy和Namecheap,在Dynadot上抢注域名的用户比较多,需要的朋友可以参考下
    2016-04-15
  • 在Windows Server 2012部署DNS服务器的教程

    这篇文章主要介绍了在Windows Server 2012部署DNS服务器的教程,文后还附了国内常用的几个公共DNS服务器的IP地址方便查阅,需要的朋友可以参考下
    2016-03-07
  • 网易蜂巢Docker容器的负载均衡设置教程

    网易蜂巢中的镜像支持负载均衡功能的开启,可以让容器与其他服务器更大程度上发挥集群优势,且提供的操作面板十分简洁友好,这里我们就来看一下网易蜂巢Docker容器的负载均衡
    2016-06-07
  • 阿里云主机中的云解析负载均衡相关设置

    这篇文章主要介绍了阿里云主机中的负载均衡相关设置,较为详细地分析了什么时候该使用负载均衡,需要的朋友可以参考下
    2016-02-05
  • windows server 2012怎么配置网络负载均衡?

    windows server 2012怎么配置网络负载均衡?winserver 2012可以装虚拟系统的,我们可以设置网络负载均衡,具体怎么设置呢?请看下文详细教程
    2015-12-25

最新评论