我需要在 ubuntu VPS 上运行两个 webapp,但一个(我自己的 webapp)更喜欢在 Tomcat 中运行,而其他(Solr webservice)在 Jetty 中更可取。但是我认为为每个 webapp 运行一个单独的服务器会比在同一台服务器上运行的两个 webapp 消耗更多的资源(比如内存消耗会更高),不是吗?
如果我在一台机器上同时运行 Tomcat 和 Jetty 以供生产使用,还有什么不好的?
我能想到的几件事,其中一些你提到过:
消耗更多资源(运行的两个容器的内存使用量通常会超过一个运行的容器)。此外,如果您有两个容器而不是一个容器,则可能会对数据库连接和缓存等内容产生影响。
容器必须在不同的端口上运行(但有一些方法可以让网站访问者觉得它们在同一个端口上)
话虽如此,我一直在我的开发机器上并排运行 tomcat 和 jetty,一切正常。但是,在我的开发机器上运行时,我的主要目标是开发,而不是性能。
在同一台机器上运行 Tomcat 和 Jetty 并不是“性能明智”那么“沉重”,我都(几乎)一直在我的开发机器上运行......在生产中我只使用 Tomcat(运行多个网络同一个容器中的服务 - 主要是我的 Web 服务 + Solr),我在这两种情况下都没有遇到性能上的重大差异。所以我会说这取决于您的需求......我个人倾向于简化我的生产设置并避免在我的服务器上的多个端口中拥有多个容器。此外,Tomcat 似乎确实是 Java 容器更受欢迎的解决方案(http://zeroturnaround.com/rebellabs/the-great-java-application-server-debate-with-tomcat-jboss-glassfish-jetty-and-liberty-轮廓/),但这并不意味着它是所有场景的最佳选择。我个人倾向于在生产中坚持使用一个 Tomcat ......
是的,运行两个而不是一个确实会消耗更多资源,但是出于开发目的,只要您的个人计算机的电源不是很差,这应该不是问题。除此之外,您必须解决启动第二个进程时出现的任何端口冲突。错误消息应该告诉您哪个端口有冲突,并且所有端口号都是可配置的。