聪哥哥有话说之聊聊Tomcat的应用部署

Tomcat的部署方式有很多种,以下列举:

第一种,是本地打包为war,直接通过winscp上传到远程服务器目录上。

第二种,通过git clone的方式打包war部署。

第三种,需要设置tomcat的权限,直接通过输入IP+端口,进入tomcat首页,输入对应的用户名和密码,直接通过文件上传的方式完成部署。

综合三种,本质就是通过war来实现的。哪怕是非maven项目,动态web项目本质上也是一样的,也可以打成war包,当然不打成war也行。

回到一个问题上面来,有人说一个tomcat部署一个web应用,浪费资源了,还有人说,一个tomcat部署多个web应用太占资源了。

下面我参考一个朋友的链接给出对应的方案,大家自行根据需求而定。

参考文章链接如:https://mp.weixin.qq.com/s/rEBqi0rSeolBYDHUBAMPgQ

多个web应用部署到一个Tomcat上的优劣?

优势 :

  • 安装管理、监控都方便,只需要安装一个 Tomcat,所有的操作都指向同一个实例即可。

劣势:

  • 多个应用共用 Tomcat 的内存,容易互相影响。如果有一个应用占用堆太多,频繁的 GC 也会使其他应用跟着暂停。

 

 

每个Tomcat部署一个web应用的优劣?

优势 :

  • 多个应用之间 Tomcat 的内存互相隔离,互相之间无影响。一个应用crash,频繁 GC,都只影响其自己,影响面缩小。

劣势:

  • 相比一个实例,安装管理、监控都较繁琐一些。可以通过安装一个实例,设置不同的CATALINA_HOME来简化一些操作。

其实上述的优劣对比,综合起来,就是开发与运维从各自的角度分析得出的。

归纳如下:

运维认为一个 Tomcat 部署多个应用,原因如下:

  • 省内存 (每个 Tomcat 都会有内存的 footprint,即使没有应用部署运行)

  • 省去额外的文件系统 (logs, tomcat installation, temp directory)

  • 省去 nagios 监控配置

  • 省去不少独立的端口 (security considerations)

  • 省去每个都打安全补丁

开发人员认为应该一个 Tomcat里只部署一个应用,理由如下:

  • 多个应用部署在一起,启动时间太长

  • 多个应用部署在一起,一个出了问题,会影响到其他的应用 (OOM, 线程数打满 等等)

  • 如果你需要在线上进行应用heap, 线程的dump, cpu使用等诊断分析,独立部署则不会影响到其他应用

 

问:聪哥哥怎么看?

答:视情况而定,根据公司在开发和运维方面投入的资源而定,如果是运维方面,投入比重比较小,建议还是尽可能的最大程度挖掘服务器(也就是能用空间,尽可能充分利用,要有宁可错杀一万,绝不放掉一个的勇气和智慧)。当然了,就稳定性的角度看,还是能一个tomcat对应一个web应用也是不错的选择。当然了,还是那句话,一切从实际出发,实际出现什么样的情况,就采取什么样的措施。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值