设为首页 收藏本站
查看: 1101|回复: 0

[经验分享] Apache+Tomcat负载均衡

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-4 09:42:58 | 显示全部楼层 |阅读模式
一、环境
Win7 + Apache2.2.4 + Tomcat6.0

二、实践
1、利用mod_jk
(1)修改apache配置文件httpd.conf,在最后加一行
wKiom1R-lJXgT1kfAAAlVcyeED4473.jpg
(2)在conf文件夹下创建一个mod_jk.conf文件,文件内容如下
wKiom1R-lD2iViFaAADTOw02QXw782.jpg
(3)在conf文件夹下创建workers.properties和uriworkermap.properties文件。workers.properties是
描述Tomcat实例的,uriworkermap.properties是描述请求映射关系的。
wKiom1R-lADS6NE4AAGvA9laPLQ631.jpg

wKiom1R-lNuSg73aAABlUNANcSQ238.jpg
(4)配置Tomcat。将tomcat拷贝一份,这里把原先的tomcat叫做t1,拷贝后的tomcat叫做t2。由于是在同一台机器上,所以需要修改t2的一些端口设置。
wKioL1R-l8ySxCcaAAG5epGph5g376.jpg
(5)部署项目到tomcat,这里做测试的项目很简单,就是一个表单,里面一个文本框,提交之后,打印SESSION_ID和文本框的值。将其部署到两个tomcat上。
(6)首先启动两个tomcat,然后启动apache。
打开火狐浏览器,输入http://localhost/test
wKiom1R-mGySmnfbAAAQvf7AWeE438.jpg
依次输入A,B, C提交,我们在9009端口的tomcat控制台看到
wKioL1R-qXeAQD_yAAE7vc6JLBE059.jpg

然后打开360浏览器,依次在文本框中输入D、E,F提交,在8009端口的控制台看到
wKioL1R-qY-yBXY-AAFewZbPY3o385.jpg

疑问:为什么不是两个tomcat控制台交替输出A、B、C、E、F呢?
答:因为默认负载均衡器的sticky_session属性值为True,表示相同session的请求会派发到同一个tomcat实例进行处理。这里,我开了两个浏览器。

2、利用mod_proxy
(1)取消httpd.conf文件中对mod_proxy的注释

wKiom1R-nwrwkVBUAAGwA4HW7pU407.jpg 这里,由于用的http,所以没有价值mod_proxy_ajp.so
(2)在httpd.conf最后增加如下配置
wKioL1R-oMSQOLrIAADo9BaGKW8471.jpg
(3)启动tomcat,启动apache测试,不再赘述


附:
    前面的例子中使用sticky session,即相同session的请求发发到同一个tomcat上进行处理。这种方式有一个问题,如果其中一个tomcat出现故障,那么这个tomcat正在处理的请求就断了,再也找不回来了。为了提供不间断的服务,我们需要session复制。

(1)修改workers.properties文件,设置session模式
wKiom1R-xTPxp8PWAAAzamRqhwk925.jpg
(2)修改tomcat配置文件server.xml,启动集群
wKiom1R-xV3RNvfaAAGwbFKS8yI732.jpg
这里只是简单的使用tomcat提供的默认的集群设置,这种方式适合于数量比较少的集群,因为默认的这种设置是只要session修改了,tomcat把这个session共享给集群内的所有节点,即使这个节点没有发布任何应用。
(3)在web应用的web.xml文件中增加
(4)测试
这次在同一个浏览器中测试
wKiom1R-xnHjlMolAAOjsYCJlD4278.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-35526-1-1.html 上篇帖子: linux下通过tomcat访问某路径下的文件 下篇帖子: linux配置Java环境之tomcat服务器 (附sqlserver驱动)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表