摘要:目前互联网急速发展,单服务器的构架已难以满足飞速下降的应用负载要求,而常用的负载均衡设备存在好多问题和缺陷,在流量剧增与DDOS功击中成为了新的网路困局,这常常造成服务器难以正常地响应。所以针对以上情况推荐通过对传统DNS负载均衡进行功能扩充使用动态智能DNS来做负载均衡,其优点是克服了传统DNS未能智能判定服务器状态的缺陷,因而可以达到各类高昂DNS设备类似的功能,但是因为无需链路中降低多余的节点,因而杜绝了多余的困局与故障点出现。本文叙述了智能DNS负载均衡技术的原理、优点、以及实现负载均衡所涉及的关键技术。
Abstract:Currently,internetisdevelopingrapidly,thesingleserverhasbeenunabletodealwithrapidlygrowingapplicationrequest,butthecommonlyusedloadbalanceequipmentexistconstitutiveflawswhichoftencanbecomethenewnetworkbottleneckwhenthecurrentcapacityenhanceorDDOSattacks,thisoftenleadstoservercannotnormallyresponse.Therefore,werecommendtousedynamicintelligentDNStocarryonfunctionexpansiontomakeloadbalance.ThedynamicintelligentDNSoptimizethetraditionalDNSbybeingunabletodotheintelligentjudgmentserverconditionlinux vip负载均衡linux vip负载均衡linux 版本,andmightachieveeachkindofexpensiveDNSequipmentsimilarfunction.Becauseitdidnotneedlinktounnecessarynode,intelligentDNSloadbalanceavoidsthebottleneckandthefaultpointappearance.Thisarticlehasindicatedthekeyprinciple,themeritoftheintelligentDNSloadbalancetechnology,aswellaskeytechnologiesloadbalancerealizationinvolves.
关键词:DNS;智能;负载均衡
Keywords:DNS;intelligent;loadbalance
中图分类号:TN8文献标示码:A文章编号:1006-4311(2010)16-0167-01
0序言
随着计算机网路的快速的发展,ISP目前的网路所承载的业务量也越来越大。在此情况下,传统的方式是升级服务器处理能力,但是,抛弃现有设备去做硬件升级一方面会导致资源的浪费,并且当对单机性能要求达到一定量后,设备的价钱将成几何倍数的下降。甚至有时侯性能再好的设备也不能满足当前业务量下降的需求。由此,一种有效、透明且可无限扩充的方式――负载均衡(badBalance)开始在各种多层结构应用中普及开。而在诸多负载均衡解决方案中,DNS负载均衡又是最廉价,对硬件要求最低、适用范围最广的形式。并且,传统的DNS负载均衡又存在着只能平均分配服务器负载而不能按照用户与服务器状态动态分配的局限性。为了突破以上局限我们可以通过对LINUX下BINDDNSSERVER的功能扩充,来架构一种智能动态的DNS负载均衡架构。运用这些系统,只要使用一两台重型的DNS服务器能够实现高负荷的负载均衡结构以扩充现有网路设备和服务器的带宽、增加吞吐量、加强网路数据处理能力、提高网路的灵活性和可用性。
1智能DNS实现负载均衡的优点与原理
目前主流的负载均衡解决方案有服务器负载均衡、地址转换网段负载均衡、协议内部负载均衡、NAT负载均衡、反向负载均衡等。这种方式一般须要运用一些价位高昂的高层交换设备作为网段,通过中转设备转发传输内容数据。也就是说中转的负载均衡分配设备将不可防止的的成为数据传输与处理的困局。传统的负载均衡技术――DNS负载均衡,即在DNS中为多个服务器地址配置同一个名子。因此查询这个名子的顾客机将随机地得到其中一个地址。因而促使不同的顾客访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而有效的方式。其最大的优点是顾客机和服务器之间的联接不须要经过网段设备。所以顾客机与服务器之间不会存在传输的困局。并且,传统DNS负载均衡只是随机的告诉顾客机一个服务器组中一台机器的IP地址。所以其面临的最大的问题是他不能动态的分辨服务器的负载差别,也不能反映服务器的当前运行状态。构想以下情况,当提供同一服务的一组服务器中的一台机器出现故障不可用时DNS服务器并不晓得。所以他会继续将这台故障服务器的地址提供给顾客机。由此导致服务故障。
通过定时检测服务器的状态并通过域名服务(DNS)将恳求指向最佳服务器来实现恳求分配,这些技术称之为DNS动态负载平衡dlbDNS(dynamicloadbalanceDNS)。智能DNS负载均衡结构将是一种理想的负载均衡。
2动态DNS负载均衡的体系结构
动态DNS负载均衡结构的具体目标是辨识最具可用性的服务器,之后将联接分配到这个服务器。动态DNS服务器须要随时据悉一组服务器中各设备的运行状态。构建一张可用设备IP列表,列表中同一应用的服务器共享同一个域名。当其中某台服务器未能响应时红旗linux6.0,DNS服务器将在列表中除去他的地址,这样用户通过DNS服务器解析到的应用服务器仍然是可用的。同时,动态DNS服务器还须要获得顾客机的IP地址,按照这个地址从服务器IP列表中选择出最临近的服务器,实现智能的负载均衡功能。
3动态DNS负载均衡关键技术
在前面建议的动态域名负载均衡结构中。用到的关键技术有:服务器健康检测、最佳服务器排列算法等。
3.1Dlbdns的服务器健康状态检测一组服务器中各单元因为有着不同的配置和处理能力,所以她们的负载状态是不同且在动态变化中的。我们要对最佳服务器进行排序就必须获得每位服务器的负载状态,且不断动态更新。
这个过程如下:①周期性向服务器发送健康检测;②检查失败时,服务器和应用从服务均衡列表中移除;③可订制健康检测。依照不同的应用,最佳服务器排序须要了解的状态数据也是不同的,从二层到七中好多合同被用作状态检测;
3.2最佳服务器排序算法因为判定各服务器的情况优劣须要综合网路、负载、处理能力等各方面情况。这样,我们就须要愈加复杂的算法。目前常用的负载均衡算法包括:循环算法、最少联接算法、散列算法、最少联接失误算法等等。
4总结
通过实时检测服务器的健康状态,动态实现服务器之间的负载均衡,就能快速定位到最佳服务器,降低用户访问的依约,提升用户的感知度,降低服务器因负载过低而导致宕机的现象,这种对于ISP,ICP营运商来说都是未来发展的必经之路。