FreeBSD基于DNS的负载均衡

来源: 作者: 2007-10-24 出处:pcdog.com

apache  dns  dns服务器  dns设置  freebsd  
上一页 1 2 
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站点上。


更多内容请看PCdog.com--DNS Linux应用篇  DNS协议专题
上一页 1 2 
上一篇:FreeBSD反向代理负载均衡
下一篇:FreeBSD提升静态网页服务能力的综合方式