Java Servlet部署 - 嵌入或不嵌入 - Tomcat/Jetty

thr*_*ups 9 java deployment tomcat embedded-jetty

我有几个webapps部署到生产.我已经使用Tomcat作为我的servlet引擎已经有10年了.我正在考虑从部署-war-into-Tomcat模型中嵌入Jetty模型.

这些webapps部署在多个服务器上,其中一些是水平扩展的(使用基于nginx IP哈希的分区).

我看到一些优点:

  • 我可以为特定的webapp配置我的servlet引擎(而不是为Tomcat运行几个不同的webapps的通用配置)

  • 通过在同一主机上运行多个Jetty实例(配置为侦听不同的端口),可以更轻松地水平扩展我的webapp.我也可以用Tomcat做这个(我过去在同一台主机上运行过多个tomcat实例),但是我已经开始使用Debian软件包(.deb档案)进行部署,并且运行多个Tomcats并不容易这种方法.

  • 我的部署包(.deb)在构建时更加"完整",即我不必确定Tomcat实例是否配置正确.

缺点:

  • 在服务器上运行的更多servlet引擎实例意味着使用更多资源

  • 我从未使用过Jetty.我认为我的webapps中没有任何特定于Tomcat的东西,但我不确定.

我主要担心的是Jetty将使用的资源量.如果我有一个运行4个webapps的Tomcat实例,那么资源(内存/处理器)与运行四个Jetty实例的区别是什么?

这个问题可能过于开放,但我很想知道我是否忽略了某些东西,或者是否有任何人从Tomcat迁移到(嵌入式)Jetty.

Zil*_*nas 0

嗯,我认为没有直接的答案;

我可能不完全理解“.deb”部分,因为我不是 debian 怪胎:)

我更喜欢拥有一个具有许多配置的 tomcat 实例,即 CATALINA_HOME 文件夹,您可以在其中指定运行的应用程序和端口,因此您始终可以单独拥有所有配置,并在需要时更改 tomcat 实例。

另请参阅相关帖子: Jetty:嵌入还是不嵌入?