论坛首页 Java企业应用论坛

探讨一下,双linux主机,每台主机启8个tomcat,共享存储的解决方案

浏览 7321 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-12-09  
现有两台高性能的pc服务器作web服务器,每台硬件:cpu(4路12核,共48个cpu),内存64G,每台软件:RHEL5.5、SUN JDK1.6、Tomcat6。

由于jvm堆内存回收时间的限制,不敢为堆分配大内存,每个jvm分配了4G内存(新生代1.5G并行收集,平均每次回收0.0303220 secs,每1.5分钟回收一次,旧生代并发收集,平均每次回收0.6230031secs,每5个小时回收一次),每台linux使用了8个jvm。每个jvm上使用一个tomcat。每个tomcat上就运行一个webapp,每个tomcat都是相同的应用。每台linux上有一个apache,动态请求负载均衡到这8个tomcat上。使用F5把请求分发到这两个主机上。

session和缓存信息存放在第3台linux主机上的memcached上。

系统一直运行的比较好,但就是每次发布程序的时候比较痛苦。现在每个tomcat的跑的应用存放到一个目录,例如:tomcat1对应的应用目录是/app1,tomcat2=/app2,以此类推,而且还是两台主机,为了可以做到一键发布写了很多的shell脚本。

现在我想可不可以这样,两台主机接一个共享存储,每个主机映射存储上的相同目录,把webapp就部署到这个目录下,所有的tomcat都指向这个目录。这样我只要把程序发布到这个目录下,然后通过脚本重启16个tomcat就可以了。不知大家有没有这么干过的,行不行的通,因为要16个tomcat读取一个webapp目录,有没有什么不良影响。
   发表时间:2011-12-09  
设置tomcat的webapp目录为同一个目录即可。
0 请登录后投票
   发表时间:2011-12-09  
楼主能不能简单说一下,集群开发的技巧
0 请登录后投票
   发表时间:2011-12-12  
我们的项目是用IBM的小机和weblogic做的负载均衡,每次只发布一一个war包就可以了,听系统集成的说,好像是做的磁盘共享,两台机器共享一个磁盘,具体的也不懂....
0 请登录后投票
   发表时间:2011-12-13  
同一台服务器可以设置tomcat的webapp目录指向同一个目录即可。
不同的服务器需要映射网络驱动器然后指向同一个目录
0 请登录后投票
   发表时间:2011-12-13  
我们的系统就这么弄呢,暂时没发现什么影响。就是用到了quarz框架,需要数据库同步一下。
0 请登录后投票
   发表时间:2011-12-13  
如果使用磁盘阵列柜,可以实现。我们以前3台 apache + 2台 webspere (全部aix操作系统) 连到一个磁盘阵列柜。
0 请登录后投票
   发表时间:2011-12-13  
其实楼主也只是两台机器接受前端请求,同一台机器请求指向同一个目录就行了,也只要在两台机器上发布,还不需要搞共享存储。
0 请登录后投票
   发表时间:2011-12-13  
surfire91 写道
其实楼主也只是两台机器接受前端请求,同一台机器请求指向同一个目录就行了,也只要在两台机器上发布,还不需要搞共享存储。


说的有道理,其实系统的访问量不是很大,“同一台机器请求指向同一个目录就行了”这个你用过吗?
0 请登录后投票
   发表时间:2011-12-13  
如果不考虑备份容灾冗余之类的问题,单纯用一个目录没任何问题!
0 请登录后投票
论坛首页 Java企业应用版

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