apache+tomcat 集群技术 (负载均衡以及session同步)

最近研究下 apache+tomcat 集群 ,
总的来说有两种方式 1 proxy 2 mod_jk 其中 proxy中具体也分了balance,其实mod_jk如果workers.properties不配置负载均衡也就是实现简单的转发。
总的来说支持协议也是两种 1 http 2 ajp
协议可自由选择
先看第一种方式 比较简单
一 proxy 方式
1 首先开启apache的proxy模块 ,具体如下

LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so

我直接搜索了proxy copy to here. 如果不用ajp 可不开启

2 在apahce中 配置 代理成员

ProxyPass / balancer://proxyTest/
<Proxy balancer://proxyTest>
BalancerMember http://127.0.0.1:8081/ loadfactor=1
BalancerMember http://127.0.0.1:8082/ loadfactor=1
</Proxy>

注意 ProxyPass 后的 /为根目录 如果有虚拟目录可配置 proxyTest 是你balancer的名字,对应即可,千万注意 member里千万别加注释 ## 我加了注释后居然报错
BalancerMember can not have a balancer name when defined in a location

loadfactor 为权重值1-100 其实也就是分配的概率 ,直接分配了2个tomcat
完后重启apache 通过浏览器测试发现 8081 和8082 交替出现 ,当然这里也可支持ajp协议,感兴趣的可以试试
二 mod_jk 方式
1 首先配置 mod_jk-1.2.31-httpd-2.2.3.so 模块
此模块 默认apache 并未支持 需要我们自己安装下载地址如下
[url]http://zucou.com/download/mod_jk-1.2.31-httpd-2.2.3.rar[/url]

2 在apache中配置引入mod_jk.conf和httpd.conf同一目录即可

# 负载均衡转发
Include "conf/mod_jk.conf"

3 在mod_jk.conf中 配置 引入模块和配置文件

LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /*.* controller

4 将需要转发已经负载的tomcat配置在workers 中

#server
worker.list = controller

#========tomcat8081========
worker.tomcat8081.port=8009
worker.tomcat8081.host=127.0.0.1
worker.tomcat8081.type=ajp13
worker.tomcat8081.lbfactor = 1

#========tomcat8082========
worker.tomcat8082.port=8010
worker.tomcat8082.host=127.0.0.1
worker.tomcat8082.type=ajp13
worker.tomcat8082.lbfactor = 1

#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat8081,tomcat8082
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1

5 配置tomcat
修改 server.xml文件
[img]http://dl.iteye.com/upload/attachment/0068/3862/264fa2b4-835b-3307-879e-fa40051e634a.jpg[/img]

修改后重启
即可见到效果

集群环境下 就存在session 同步问题 。。。这个还是在补充吧 今天没时间了。。太饿了 还没吃饭。。。。。醒了后还没下床
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值