在一台机器上有两个webapps在不同的servlet容器上比在同一个上都不好吗?

时间:2013-10-01 19:03:20

标签: java tomcat jetty

我需要在ubuntu VPS上运行两个webapp,但是一个(我自己的webapp)更喜欢在Tomcat&其他(Solr webservice)在Jetty中更受欢迎。但我认为为每个webapp运行一个单独的服务器会比在同一台服务器上运行的webapp消耗更多的资源(比如内存消耗会更高),不是吗?

如果我同时运行Tomcat& Jetty在一台机器上用于生产?

3 个答案:

答案 0 :(得分:1)

我能想到的一些事情,其中​​一些你提到过:

  • 消耗更多资源(运行两个容器的内存使用量 通常会运行多个容器)。此外,如果您有两个容器而不是一个容器,则可能会对数据库连接和缓存等问题产生影响。

  • 容器必须在不同的端口上运行(但是有一些方法可以让站点访问者看到它们位于同一个端口上)

  • 不要忘记容器通常会侦听多个端口,所以你必须确保避免冲突(想想tomcat关闭端口等)。

话虽如此,我一直在我的开发机器上并排运行tomcat和jetty并且工作正常。但是在我的开发机器上运行时,开发而不是性能是我的主要目标。

答案 1 :(得分:1)

在同一台机器上运行Tomcat和Jetty是“性能明智”不那么“重”的东西,我在我的开发机器上一直运行(几乎)...在生产中我只使用Tomcat(在同一个容器中运行多个Web服务 - 主要是我的Web服务+ Solr),我在这两种情况下都没有遇到性能上的重大差异。所以我会说这取决于你的需求......我个人倾向于简化我的生产设置,避免在我的服务器上的多个端口中安装多个容器。此外,Tomcat似乎是更流行的java容器解决方案(http://zeroturnaround.com/rebellabs/the-great-java-application-server-debate-with-tomcat-jboss-glassfish-jetty-and-liberty-profile/),但这并不意味着它是适用于所有场景的最佳解决方案。我个人倾向于在生产中坚持使用一个Tomcat ......

答案 2 :(得分:0)

是的,它确实消耗了更多资源来运行两个而不是一个,但是出于开发目的,只要您的个人计算机不是非常强大,它就不应该成为问题。除此之外,您必须解决启动第二个进程时出现的任何端口冲突。错误消息应该告诉您哪个端口冲突,并且所有端口号都是可配置的。