打印本文 打印本文  关闭窗口 关闭窗口  
Linux下基于DNS的多机均衡负载的实现
作者:佚名  文章来源:不详  点击数1690  更新时间:2007-5-18 3:06:34  文章录入:啊祖  责任编辑:啊祖

>  前二天为一个客户添加了一台服务器。共同承担一个论坛的运作。但是。要实现负载均衡。的确是件难事。

  之前有试过几个方法,

  一、DNS轮值。。优点:简单实现。缺点:无法检测各个服务器的负荷。难控制访客的访问地址(一般DNS服务器都有缓存,所以。效果不明显)

  二、前台程序。。使用了一个类似Zeus Load Balancer的服务程序。在前台接受访问请求。再分流到各个实际的服务器。

  但以上二个方法都不太适用我的情况。。

  第一种。无法正确分配访客流量。。。常发生一台服务器的负荷很大。而另一台就很低。。。

  第二种。会占用更多的流量。资源也占用较大。 

  最好。我还是采用了一个DNS均衡负载的方法---lbname。

  它的主要效果介绍:

  一、基于perl的dns服务端。应用简单。

  二、自动检测各个服务器的负荷。然后再按结果优先分配DNS解析。

  三、DNS解析实时生效。不会被DNS服务器缓存。

  四、安装方法简单。。。

  lbname网页介绍

  http://www.stanford.edu/~schemers/docs/lbnamed/lbnamed.html

  http://www.stanford.edu/~riepel/lbnamed/

  。

  。

  下载:

  http://www.stanford.edu/~riepel/lbnamed/lbnamed-1.2.1.tar.gz

  http://www.stanford.edu/~schemers/dist/lb.tar

  .

  .

  下载包说明:

  内存数个目录

  1)lbcd的源代码。。。。lbcd是lbnamed所用到的服务器端检测服务器负荷程序。。每个需要均衡负荷的服务器都需要安装、运行它的。。。

  建议下载使用最新的lbcd编译包。http://www.stanford.edu/~riepel/lbnamed/lbcd-3.1.0.tar.gz  之前的常有编译错误的。(这个也有的。嘻。)

  编译这个包时。常会出错的。如何成功安装。就看你的本事了。(编辑util.c第123行。在前面加上//)

  编译lbcd成功后。将它复制到/usr/sbin。那你就可以运行它了。。不用加什么参数了。(运行后要停止它就是lbcd -s)

  2)lbnamed的服务器程序perl..分有二个版本。一个是perl4.另一个是perl5.我是使用perl5的。所以用它来说明。

打印本文 打印本文  关闭窗口 关闭窗口