我有几个Web应用程序部署到生产环境。我已经使用Tomcat作为我的Servlet引擎约10年了。我正在考虑从将war部署到Tomcat模式转移到嵌入式Jetty模式。
这些Web应用程序部署在多台服务器上,其中一些是水平扩展的(使用基于nginx IP哈希分区)。
我看到了一些优点:
我可以为特定的Web应用程序配置我的Servlet引擎(而不是对运行多个不同Web应用程序的Tomcat进行通用配置)
通过在同一主机上运行多个Jetty实例(配置为侦听不同的端口),更容易地水平扩展我的Web应用程序。我也可以使用Tomcat做到这一点(过去我曾在同一主机上运行多个Tomcat实例),但我已经转向使用Debian软件包(.deb存档)进行部署,使用此方法运行多个Tomcat不太容易。
我的部署包(.deb)在构建时更加“完整”,即我不必确保Tomcat实例被正确配置。
和缺点:
在服务器上运行更多的Servlet引擎实例意味着使用更多的资源
我从未使用过Jetty。我不认为我的Web应用程序中有任何特定于Tomcat的内容,但我不确定。
我的主要关注点是Jetty将使用的资源量。如果我有一个运行4个Web应用程序的Tomcat实例,那么运行四个Jetty实例的资源(内存/处理器)差异将是多少?
这个问题可能太宽泛了,但我想知道是否有什么事情被忽视了,或者是否有人有从Tomcat转移到(嵌入式)Jetty的经验。