论坛首页 Java企业应用论坛

Apache+Tomcat集群配置

浏览 284899 次
精华帖 (6) :: 良好帖 (17) :: 新手帖 (3) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-29  
谢谢了,正想学习一下。
0 请登录后投票
   发表时间:2011-04-29  
很好,很详细!非常感谢
0 请登录后投票
   发表时间:2011-04-29  
谢谢哥们分享。自己要试一下。
0 请登录后投票
   发表时间:2011-04-29  
楼主好帖,支持一下。

F5负载均衡器是牛X,不过价钱一台差不多二十来万,不便宜啊。

Tomcat的会话集群在高并发下还是不行的,多播模式消耗太大,会话集群要寻求其他解决方案,之前做过重写tomcat的会话管理+memcached做集中式会话缓存管理性能还是可以的。

Apache的负载均衡也不错,策略也可以配,通常用的多都是配置sticky session,中小型的应用一般可以满足。
0 请登录后投票
   发表时间:2011-04-29  
charyle 写道
zhangyuailu 写道
如果我部署的项目中包含了线程。启动两个tomcat会不会同时启动线程。这样数据就会产生了错误。。
两个线程同时在运行。。

  线程如果随着Tomcat启动而启动,自然多个Tomcat都会启动的。
  集群其实还是多个独立的Tomcat中的项目,每次请求只访问一个Tomcat的,即使这个请求会被多个线程处理,但也都是在这1个Tomcat中完成的,然后将每个应用session的变化复制到其他Tomcat下的应用中。
  所以即使项目包含多线程,如果独立的Tomcat没数据问题,多个也没问题。

我的项目一启动就会启动线程、而且线程会按照一定的周期进行执行。如果两个tomcat都运行。是不是两个线程都会运行。这样会不会产生重复的数据。谢谢。求解、、、
0 请登录后投票
   发表时间:2011-04-29  
不错,感谢楼主
0 请登录后投票
   发表时间:2011-04-29   最后修改:2011-04-29
按你的方式试验了下,发现了一个问题

我用的httpd-2.2.17,tomcat-6.0.29

apache 1个, tomcat 3个( 2个本地,1个是虚拟机 )

apache在虚拟机上,虚拟机用的是red hat - fedora14

先在本地启两个tomcat,再启apache 此时 tomcat 已经可以集群, sessionID是一样的,value值也不变

然后再把 虚拟机 中的 tomcat3 启动,添加新的session 此时就有问题了,tomcat3没有集群进来

tomcat1,tomcat2(即本地的两个tomcat)sessionID是一样的,但远端的tomcat3, sessionID不一样
但是session中 value 却是一样的

后来,我又重新试验一次,先把tomcat三个都启动,最后启apache ,结果还是一样

节点插拔没问题,停了一个之后会分发给其他的tomcat

请解析下,这是什么原因呢? 本地和远程session ID不一致



  • 大小: 107.1 KB
  • 大小: 61.2 KB
0 请登录后投票
   发表时间:2011-04-29  
carcar123 写道
按你的方式试验了下,发现了一个问题

我用的httpd-2.2.17,tomcat-6.0.29

apache 1个, tomcat 3个( 2个本地,1个是虚拟机 )

。。。。。
请解析下,这是什么原因呢? 本地和远程session ID不一致


楼上的情况我也不清楚了,我的虚拟机中是XP的系统,sessionid也是相同的,但是您试过先启动Apache再启动Tomcat没?

再次感谢各位的赏光啊,我只是总结下Tomcat集群的Apache,目前也是应用层面而已,欢迎大家讨论共同进步。。。
0 请登录后投票
   发表时间:2011-04-29  
charyle 写道
carcar123 写道
按你的方式试验了下,发现了一个问题

我用的httpd-2.2.17,tomcat-6.0.29

apache 1个, tomcat 3个( 2个本地,1个是虚拟机 )

。。。。。
请解析下,这是什么原因呢? 本地和远程session ID不一致


楼上的情况我也不清楚了,我的虚拟机中是XP的系统,sessionid也是相同的,但是您试过先启动Apache再启动Tomcat没?

再次感谢各位的赏光啊,我只是总结下Tomcat集群的Apache,目前也是应用层面而已,欢迎大家讨论共同进步。。。



首先:感谢楼主的热心回复,谢谢。
其次:不论启动顺序如何,结果都是一样,ID不同
最后:楼主是否可以解释下
worker.controller.sticky_session=false

worker.controller.sticky_session_force=1

这些参数的意思呢?

sessionID 不一样,意思是没有集成成功?
0 请登录后投票
   发表时间:2011-04-29   最后修改:2011-04-29
补充一点:在添加新session的时候 当apache分发到tomcat3,也就是远端的tomcat时,再添加新session,之前的session全部丢失!!! 而tomcat1,tomcat2之间却可以完全copy session,唯独tomcat3不行

很是奇怪啊
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics