循环复用DNS实现多服务器的负载均衡
2007-12-02 16:30:58 来源:WEB开发网当客户请求访问www.example.com.cn时,DNS服务器将循环调度IP地址的次序,将按172.28.20.1、172.28.20.2、172.28.20.3和172.28.20.4的顺序应答第一个客户的要求,下一个客户对同样信息的请求将用旋转后的172.28.20.2、172.28.20.3、172.28.20.4和172.20.20.1这样的顺序应答,旋转过程将持续下去,成功实现DNS负载均衡。
按以上步骤设置好后,有时会有疑问,为什么ping www.example.com.cn,返回的都是同一个IP?原因很简单,这是因为只用1台电脑做测试,ping了第一次后,电脑就会做一个缓存。用多台电脑来ping,或在一台电脑上ping完每一次后,均运行ipconfig/flnshdns,就可测试
出系统实现目的已达到。
4 需注意的两点问题
⑴ 本地子网优先级
当集群中的服务器不在同一网段时,默认情况下,当客户机查询解析映射到多个 IP 地址的主机名时,DNS 服务使用本地子网优先排序作为
给出同一网络上首选 IP 地址的方法。此功能要求客户应用程序尝试使用连接可用的最近(一般是最快的)IP 地址连接至主机。
DNS 服务按以下方式使用本地子网优先级:
①DNS 服务确定是否需要本地子网的优先级排序查询响应。
如果有多个地址资源记录与要查询的主机名匹配,则 DNS 服务可按其子网位置重新对记录进行排序。如果查询的主机名只与一个 地址资源
记录匹配,或者客户机的 IP 网络地址与多重资源记录响应列表上的任何映射地址的 IP 网络地址匹配,则不需要进行优先排列。
②对于匹配响应列表中的每一个资源纪录,DNS 服务决定了哪些记录(如果有)与查询客户机的子网位置匹配。
③DNS 服务重新对响应列表进行排序,以便将与发出请求的客户机的本地子网匹配的 主机地址资源记录排在响应列表中的第一位。
④按子网的顺序进行优先级排序后,响应列表将返回给发出请求的客户机。
⑵ 不足之处
虽然循环复用 DNS 是一个普遍使用的在 Web 服务器上负载平衡的解决方案,但是,该方式有它自身的缺陷。循环复用 DNS 使用 DNS
将传入的 IP 请求映射到定义的一系列循环形式的服务器。一旦发生服务器故障,循环复用 DNS 继续把请求发送到这个故障服务器,一直
到把该服务器从 DNS 中移走为止。这样许多用户必须等到 DNS 连接超时以后才能成功地访问目标网站。
5 结束语
集群负载均衡被认为是目前十大热门技术之一,它也是一个高端应用,Internet/Intranet中负载均衡方案应用十分广泛,许多大中型网
站都难脱离这种技术。NAT负载均衡、反向代理均衡及DNS负载均衡,将视需要而被采用。利用循环复用DNS实现负载均衡是一种经济又实用的方法,不需要添加昂贵的负载均衡设备,并且服务器可以位于互联网的任意位置,该技术当前使用在包括Yahoo在内的一些Web站点上。
更多精彩
赞助商链接