apache自带负载均衡的集群功能

apache自带负载均衡的集群功能实战
下面以在apachemod_proxy下作的反向代理负载均衡为配置实例:在站点[url]www.test.com[/url],咱们按提供的内容进行分类,不一样的 服务器 用于提供不一样的内容服务,将对[url]http://www.test.com/news[/url]的访问转到IP地址为192.168.1.1的内部服务器上处理,对[url]http://www.test.com/it[/url]的访问转到服务器192.168.1.2上,对[url]http://www.test.com/life[/url]的访问转到服务器192.168.1.3上,对[url]http://www.test.com/csai[/url]的访问转到合做站点[url]http://www.csai.cn[/url]上,从而减轻本apache服务器的负担,达到负载均衡的目的。    首先要肯定域名[url]www.test.com[/url]在DNS上的记录对应apache服务器接口上具备internet合法注册的IP地址,这样才能使internet上对[url]www.test.com[/url]的全部链接请求发送给本台apache服务器。    在本台服务器的apache配置文件httpd.conf中添加以下设置:    proxypass     /news      [url]http://192.168.1.1[/url]    proxypass     /it      [url]http://192.168.1.2[/url]    proxypass     /life     [url]http://192.168.1.3[/url]    proxypass     /csai     [url]http://www.csai.cn[/url]    注意,此项设置最好添加在httpd.conf文件“Section 2”之后的位置,服务器192.168.1.1-3也应是具备相应功能的www服务器,在重启服务时,最好用apachectl configtest命令检查一下配置是否有误。    接下来也是我真正想要介绍的2.2版本后在mod_proxy中新添加的mod_proxy_balancer模块给咱们带来的新功能。    首先将在主配置文件http.conf如下Module的注释去掉    LoadModule proxy_module modules/mod_proxy.so    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so    LoadModule proxy_http_module modules/mod_proxy_http.so    再并增长如下元素    ProxyRequests Off    ProxyPass /test  balancer://xuanfei stickysession=jsessionid nofailover=On    <proxy balancer://xuanfei/>       BalancerMember [url]http://192.168.28.131 [/url] loadfactor=1       BalancerMember [url]http://192.168.28.130 [/url] loadfactor=1    </proxy>    ProxyPass为代理转发的Url,即将全部访问/test的请求转发到群集balancer://xuanfei    loadfactor为各主机间的负载比例参数,但是设置不一样指数    BalancerMember为群集的成员,即群集服务器A或B,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember。    配置好后,启动Apahce服务    <Location /server-status>       SetHandler server-status       Order Deny,Allow       Deny from all       Allow from all    </Location>    访问xuanfei/test就会看到群集服务器中应用返回的结果。恭喜你,负载均衡和群集已经配置成功了!    并且还能够一样在http.conf主配置文件主添以下元素:    <Location /balancer-manager>       SetHandler balancer-manager       Order Deny,Allow       Deny from all       Allow from all    </Location>    若是配置成功后你能够能够在地址栏输入 xuanfei/balancer-manager,将能够清楚的看到各节点的工做运行状态:)    一样还能够一样在http.conf主配置文件主添以下元素:    <Location /server-status>       SetHandler server-status       Order Deny,Allow       Deny from all       Allow from all    </Location>    即可以方便的观测到主服务器的当前运行状态,只要在地址栏输入 xuanfei/server-status 就能够看到对apache负载均衡集群的性能测试对比报告。    小结:apache自带mod_proxy功能模块中目前能够实现两种不一样的负载均衡集群实现方式,第一种是分工合做的的形式,经过各台主机负责不一样的任务而实现任务分工。第二种是不一样的机器在担任一样的任务,某台机器出现故障主机能够自动检测到将不会影响到客户端,而第一种却不能实现但第一种实现方式的优势在于他是主服务器负担相应没第二种大由于台只是提供跳转指路功能,形象的说他不给你带路只是告诉你有条路能够到,但到了那是否能够看到你见的人他已经不会去管你了:)。相比之下第二种性能要比第一种会好不少;但他们都有个共同点都是一托N形式来完成任务的因此你的主机性能必定要好。
相关文章
相关标签/搜索