免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4734 | 回复: 6
打印 上一主题 下一主题

[DNS] 关于DNS的负载均衡的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-28 09:51 |只看该作者 |倒序浏览
谁能帮忙详细解释一下下面的这段话,我该怎样设置?(请给出详细的步骤!)


    由于此时反向解析只能针对一台计算机,那么每个Web服务器都需要使用ServerName重新定义同一个名字,或者设置名字解析的顺序为hosts文件优先,并在hosts文件中定义本身为www,以保证每个服务器的名字设置保持一致。







全文如下:
————————————————————————————————————

FreeBSD下基于DNS的负载均衡
来源:网络工程师 (2005-11-03 11:35:20)



基于DNS的负载均衡
负载均衡技术  
可以使用上面提到的各种技术来提升Apache服务器的性能,同时也可以使用增加硬件性能的方法来提高Web 服务器的性能。但是单台服务器的性能总是有限的,尤其是服务器上需要运行大量的CGI程序时,不可能仅靠上面的调整服务器设置的方法来建立一个面向整个Internet,如同Yahoo等站点一样的高负载Web站点。

  为了建立一个高负载的Web站点,必须使用多服务器的分布式结构。上面提到的使用代理服务器和Web服务器相结合,或者两个Web服务器相互协作的方式也属于多服务器的结构,但在这些多服务器的结构中,每个服务器所起到的作用是不同的,属于非对称的体系结构。非对称的服务器结构中每个服务器起到的作用是不同的,例如一个服务器用于提供静态网页,而另一个用于提供动态网页等等,这样就使得网页设计时就需要考虑不同服务器之间的关系,一旦要改变服务器之间的关系,就会使得某些网页出现连接错误,不利于维护,可扩展性也差。

  另外一种多服务器的设计结构为对称结构,在对称结构中每台服务器都具备等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。然后,可以通过某种技术,将外部发送来的请求均匀分配到对称结构中的每台服务器上,接收到连接请求的服务器都独立回应客户的请求。在这种结构中,将外部请求均匀分配到服务器上的技术称为负载均衡技术,由于建立内容完全一致的Web服务器并不困难,因此负载均衡技术就成为建立一个高负载Web站点的关键性技术。


基于DNS的负载均衡

  最早的负载均衡技术是通过DNS服务中的随机名字解析来实现的。在DNS服务器中,可以为多个不同的地址配置同一个名字,这个数据被发送给其他名字服务器,而最终查询这个名字的客户机将在解析这个名字时随机使用其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,因此不同的客户访问的也就是不同地址的Web服务器,从而达到负载均衡的目的。

  例如如果希望使用三个Web服务器来回应对www.exampleorg.org.cn的HTTP请求,就可以设置该域的DNS服务器中关于该域的数据包括与下面例子类似的结果:

www1 IN A 192.168.1.1
www2 IN A 192.168.1.2
www3 IN A 192.168.1.3
www IN CNAME www1
www IN CNAME www2
www IN CNAME www3
  这里先为每个计算机定义一个真实名字,然后再为它们定义同一个别名。直接针对不同地址设置同一个真实名字(A记录)也是可行的,但使用别名的方法易于管理一些。

  由于此时反向解析只能针对一台计算机,那么每个Web服务器都需要使用ServerName重新定义同一个名字,或者设置名字解析的顺序为hosts文件优先,并在hosts文件中定义本身为www,以保证每个服务器的名字设置保持一致。

  此后外部的客户机就可能随机的得到对应www的不同地址,那么随后的HTTP请求也就会发送给不同地址了。

  当使用DNS负载均衡的时候,必须尽量保证不同的客户计算机能均匀获得不同的地址。由于DNS数据是具备一个刷新时间的标志的,一旦超过这个时间限制过期,其他DNS服务器就需要和这个服务器交谈以重新获得地址数据,就有可能获得不同IP地址。因此为了使得地址能随机分配,就应该使得刷新时间尽量短,不同地方的DNS服务器能更新对应的地址,使得地址获得能随机一些。然而将过期时间设置的过低将使得DNS流量大增,而造成额外的网络问题。出于折衷的考虑,一般将刷新时间设置为1个小时。

  DNS负载均衡的一个问题是一旦某个服务器出现故障,即使及时修改了DNS设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间保存了故障服务器地址的客户计算机将不能正常访问服务器。

  尽管存在多种问题,然而它还是一种非常有效的做法,当前使用在包括Yahoo在内的很多Web站点上。


(http://www.fanqiang.com)

[ 本帖最后由 w4cs 于 2007-7-2 08:26 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-06-28 16:59 |只看该作者
推荐直接A记录作轮训:


www IN A 192.168.1.1
www IN A 192.168.1.2
www IN A 192.168.1.3

论坛徽章:
0
3 [报告]
发表于 2007-07-03 18:10 |只看该作者
对上面提到的ServerName,它是针对Apache的虚拟主机名字么?

————————————————————————————————————
在httpd.conf文件中:
NameVirtualHost 111.22.33.44
<VirtualHost 111.22.33.44>

ServerName www.customer-1.com
DocumentRoot /www/hosts/www.customer-1.com/docs
ScriptAlias /cgi-bin/ /www/hosts/www.customer-1.com/cgi-bin

</VirtualHost>

论坛徽章:
0
4 [报告]
发表于 2007-07-03 18:17 |只看该作者
或者设置名字解析的顺序为hosts文件优先,并在hosts文件中定义本身为www,以保证每个服务器的名字设置保持一致。


对于上面这一步:
我在hosts文件中该怎么设定:

"myipaddr"  www.mydomain  www   
____________________________
?????????

论坛徽章:
0
5 [报告]
发表于 2007-07-03 23:41 |只看该作者
www IN CNAME www1
www IN CNAME www2
www IN CNAME www3

同一主机头的 cname 只能有一个.
可以这样
www1   IN  A   10.0.0.1  
www1   IN  A   10.0.0.2  
www1   IN  A   10.0.0.3
www   IN  CNAME  WWW1

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
6 [报告]
发表于 2010-12-20 11:32 |只看该作者
回复 2# llzqq


    这样是轮询??

论坛徽章:
0
7 [报告]
发表于 2010-12-22 10:31 |只看该作者
www1   IN  A   10.0.0.1  
www1   IN  A   10.0.0.2  
www1   IN  A   10.0.0.3
www   IN  CNAME  WWW1
以上这么配置不是更麻烦吗?
如下即可:
www   IN  A   10.0.0.1  
www   IN  A   10.0.0.2  
www   IN  A   10.0.0.3
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP