`
rockethj8
  • 浏览: 24009 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

(负载均衡)Window 服务器下采用Apache2.2+JBoss7服务器集群

阅读更多
1.安装APCHE 2.2应用服务器 
2.安装JBOSS 7.X
以上两步省略
 
找到APACHE安装目录
${yourDIR}\Apache Software Foundation\Apache2.2\conf
修改 httpd.conf 文件,httpd是apache的主程序,基本对apache的配置都在这个文件里进行
a.将负载均衡需要使用的模块都打开(去掉#号即可),如下:
mod_headers.so
mod_proxy.so
mod_proxy_balancer.so
mod_proxy_connect.so
mod_proxy_http.so
如图是修改差异对比
 
继续往httpd.conf增加内容,首先增加 session sticky 设置
(使用session sticky 可以使访问的session 保存在本地cookie, 这样session实际上是访问同一台机器,不会因页面跳转而导致session丢失)
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
 
设置 balancer 成员与均衡的条件和权重,ProxyRequests Off    设置不要需要代理,将其关闭。
ProxySet lbmethod设置以什么作为负载均衡的权衡,
lbmethod有以下三种取值方式 

lbmethod=byrequests 按照请求次数均衡(默认) 
lbmethod=bytraffic 按照流量均衡 
lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器) 

 
ProxyRequests Off 
<proxy balancer://SC> 
         BalancerMember http://192.168.0.171:8020 loadfactor=1 route=server1
         BalancerMember http://192.168.0.171:8080 loadfactor=1 route=server2
         BalancerMember http://192.168.0.27:8020 loadfactor=1 route=server3
         ProxySet lbmethod= bybusyness 
         ProxySet stickysession=ROUTEID
</proxy>
 
 
设置虚拟主机,设置反向代理,让所有请求都来自一个虚拟的主机。
<VirtualHost *:80>
         ProxyPass / balancer://SC/
         ProxyPassReverse / balancer://SC/
</VirtualHost>
如图是对这两个指令的解释。
 
 
 
最后设置 balancer-manager,加上它后,你可以通过 页面对负载均衡情况了如指掌。
地址:http://serverIp/balancer-manager
 
<Location /balancer-manager>   
SetHandler balancer-manager 
Order Allow,Deny
Allow from all 
</Location>
 
备注:使用sessionsticky可以使session 附着在一个服务器上,一旦该服务器宕机了,该session会丢失。
但可以重新登录,附着到另一台正常运行的服务器上。这种附着做法只在session 存储的信息不太重要时可以这样做。
如果要做到session 不丢失,只得使用session同步机制了,此处不再描述。
 
 
 
国人翻译的apache文章:
 
apache官网文章:
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics