专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Unix/FreeBsd » dns负载均衡:FreeBSD基于DNS的负载均衡 »正文

dns负载均衡:FreeBSD基于DNS的负载均衡

来源: 发布时间:星期一, 2009年1月12日 浏览:18次 评论:0
  可以使用上面提到各种技术来提升Apache服务器性能同时也可以使用增加硬件性能思路方法来提高Web 服务器性能但是单台服务器性能总是有限尤其是服务器上需要运行大量CGI不可能仅靠上面调整服务器设置思路方法来建立个面向整个Internet如同Yahoo等站点高负载Web站点  为了建立个高负载Web站点必须使用多服务器分布式结构上面提到使用代理服务器和Web服务器相结合或者两个Web服务器相互协作方式也属于多服务器结构但在这些多服务器结构中每个服务器所起到作用是区别属于非对称体系结构非对称服务器结构中每个服务器起到作用是区别例如个服务器用于提供静态网页而另个用于提供动态网页等等这样就使得网页设计时就需要考虑区别服务器的间关系旦要改变服务器的间关系就会使得某些网页出现连接不利于维护可扩展性也差

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

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

  例如如果希望使用 3个Web服务器来回应对www.exampleorg.org.cnHTTP请求就可以设置该域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站点上

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: