Apache的ReWrite的应用mod_rewrite模块使用(8)
来源:asp之家 发布时间:2010-04-04 18:44:00
标签:apache,mod_rewrite,url,rewrite,虚拟主机,服务器
负载的均衡
说明:
如何均衡www.foo.com的负载到www[0-5].foo.com(一共是6个服务器)?
方案:
这个问题有许多可能的解决方案,在此,我们讨论通称为“基于DNS(DNS-based)的”方案,和特殊的使用mod_rewrite的方案:
DNS循环(DNS Round-Robin)
最简单的方法是用BIND的DNS循环特性,只要按惯例设置www[0-9].foo.com的DNS的A(地址)记录,如:
代码:
www0 IN A 1.2.3.1
www1 IN A 1.2.3.2
www2 IN A 1.2.3.3
www3 IN A 1.2.3.4
www4 IN A 1.2.3.5
www5 IN A 1.2.3.6
然后,增加以下各项:
代码:
www IN CNAME www0.foo.com.
IN CNAME www1.foo.com.
IN CNAME www2.foo.com.
IN CNAME www3.foo.com.
IN CNAME www4.foo.com.
IN CNAME www5.foo.com.
IN CNAME www6.foo.com.
注意,上述看起来似乎是错误的,但事实上,它的确是BIND中的一个预期的特性,而且也可以这样用。无论如何,现在www.foo.com已经被解析,BIND可以给出www0-www6 - 虽然每次在次序上会有轻微的置换/循环,客户端的请求可以被分散到各个服务器。可是,这并不是一个优秀的负载均衡方案,因为,DNS解析信息可以被网络中其他名称服务器缓冲,而一旦www.foo.com被解析为wwwN.foo.com,则其后继请求都将被送往www.foo.com。但是最终结果是正确的,因为请求的总量的确被分散到各个服务器了
DNS 负载均衡
一种成熟的基于DNS的负载均衡方法是使用http://www.stanford.edu/~schemers/docs/lbnamed/lbnamed.html的lbnamed程序,它是一个Perl 5程序,带有若干辅助工具,实现了真正的基于DNS的负载均衡。
代理吞吐循环(Proxy Throughput Round-Robin)
这是一个使用mod_rewrite及其代理吞吐特性的方法。首先,在DNS记录中,将www0.foo.com固定为www.foo.com,如下:
代码:
www IN CNAME www0.foo.com.
其次,将www0.foo.com转换为一个专职代理服务器,即,由这个机器把所有到来的URL通过内部代理分散到另外5个服务器(www1-www5)。为此,必须建立一个规则集,对所有URL调用一个负载均衡脚本lb.pl。
代码:
RewriteEngine on
RewriteMap lb prg:/path/to/lb.pl
RewriteRule ^/(.+)$ $ [P,L]
以下是lb.pl:
代码:
#!/path/to/perl
##
## lb.pl -- load balancing script
##
$| = 1;
$name = "www"; # the hostname base
$first = 1; # the first server (not 0 here, because 0 is myself)
$last = 5; # the last server in the round-robin
$domain = "foo.dom"; # the domainname
$cnt = 0;
while () {
$cnt = (($cnt+1) % ($last+1-$first));
$server = sprintf("%s%d.%s", $name, $cnt+$first, $domain);
print "http://$server/$_";
}
##EOF##


猜你喜欢
- 本文来自2008年第一期电脑报(1.7日)a8-a10版介绍我们草根的站长故事。从互联网在中国出现的第一天起,它在社会大众心目中的印象,就和
- 核心提示:在搜索引擎优化上面,为使得效果更加明显,问题简单快速解决,大家对站点的静态化趋之若骛。然而对于一些大型网站,静态化带来的问题和后续
- 1. 安装docker;参考网址:Docker入门安装教程(小白篇) linux上安装Docker(非常简单的安装方法) 
- 百度收录减少的问题,好多站长都遇见过,最近好象严重点。最近我看到很多朋友说自己网站莫名其妙的百度收录减少,有的在还没有找到原因,没有合适的解
- ppc,cpm,cpc是什么意思,你了解吗?sem 是舶来品,在做搜索引擎营销的时候,使用相关软件的时候,经常为用到一些称呼的缩写,下边总结
- 一、 基本网页的SEO手段网页是一个网站构成的基本元素,因此,对于网页本身的优化在整个SEO优化过程中有举足轻重的作用。下面分为两个部分来讨
- 我们在一些行业资讯网站(特别是数码类资讯网站)逛的时候,经常会在某个产品介绍页面下方发现有相关文章、评测文章、相关下载等栏目,如太平洋电脑产
- 1:首先安装VmWare(网络上教材比较多,这里不说明了)2:启动时在安装对应的Linux版本,网络就默认 net即可3:都安装好了之后,注
- asp之家祝大家2008年春节快乐,工作顺利!我们这,太阳探了一下小脸,又开始下雪了,今年的雪真的带来 * 烦了。“迎击风雪 回家过年”成了第
- 从事互联网多年,积累了些许“概念”,现一一罗列,供大家参考:平铺和翻滚: 网站获得流量有两种方法,一是平铺,二是翻滚。平铺又可分为搜索引擎平
- 随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统
- 安装虚拟机VMware步骤一在官网下载虚拟机https://www.vmware.com/cn/products/workstation-p
- DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作。为什么需要将主机名和域名转换为IP地址的工作呢?这是因为,当网络上的一台客
- 有时候,我们需要在WINDOWS服务器中安装多个不同版本的PHP环境,或采用不同的PHP.ini配置,例如在使用中国E商务网的IONCUBE
- Microsoft Exchange Server 2003在安装时可以加带很多参数,下面具体来讲解各参数的作用:setup.exe /Ch
- 网站的外链一直是各位站长最关注的地方,天天的发贴,做链接,归根到底就是想增加外链数,提高排名.不可否认,目前在百度和Google中,网站外链
- HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内
- 闲暇的时候,我喜欢用自己的相机狂拍一通。然后用我喜爱的“美图秀秀”软件美化一下,就是一组组美丽的个人写真哦。软件操作简单,一些流行的图片特效
- 核心提示:19楼无疑给了许多站长的启示,或者说是伤痛。原来,把网站做得出名不是很难啊?论坛变成综合门户,也很简单。用discuz好几年了,发
- 首先,根据自己网站的统计数据来分析,网上超多免费统计系统,随便找一个吧,里面都有很详细的搜索引擎来路、关键词来路分析等功能,我们要做的就是仔