多个Tomcat实例与多个Tomcat服务的区别

3
我有一个需求,需要在同一台机器上通过HTTP托管两个不同的Web应用程序,但使用不同的端口进行访问。我正在思考哪种方法更好,或者基本上是两种方法之间的区别:
1. 使用特定的catalina_home / catalina_base启动两个独立的Tomcat实例,并且当然还有两个具有相应server.xml的conf dirs。 2. 在单个server.xml中配置多个服务,在其中一个默认的Catalina Service中添加另一个服务,指定端口和appbase。
请问应该选择哪种方式以及原因?我对两个实例与两个服务之间的主要区别感兴趣。

1
如果您创建多个实例,将共享相同的资源。 - PM 77-1
谢谢您的快速提示!您能否进一步解释一下"共享同一资源"是什么意思? - shippi
我也很想知道为什么这个问题被踩了。请描述一下,这样我将来就可以避免犯同样的错误!! - shippi
1个回答

4
两种方法的主要区别在于:
许多Tomcat实例
您可以启动或停止Tomcat而不影响其他实例,这种方法在需要对一个应用程序进行维护但不想影响其他实例的可用性时非常有帮助。每个实例将使用自己的资源,当机器无法保证每个Tomcat实例所需的内存或处理器数量时,这可能是一个问题,这种方法将比另一种方法需要更多的资源,在Tomcat知识方面,这种方法非常容易实现。
一个Tomcat实例和许多服务x Webapp 当您需要在Web应用程序之间共享资源时,这种方法很有用,您可以为所有Web应用程序设置单个配置点。但此方法更难以分离Web应用程序之间的问题,因为它们存在于同一Tomcat实例中,例如,如果您需要解决一个应用程序的问题,如何做到这一点,如果两个应用程序都在同一Tomcat中运行?如何读取日志文件?日志文件是否合并为一个?还是分开的?请注意,如果没有执行适当的配置,则在生产中可能会导致噩梦。这种方法需要更多的工作量和Tomcat配置知识,以便定义适当的服务分离,配置更加困难,但在效率方面更好。
如何决定
嗯,这取决于
a.服务器资源的数量。
b.IT团队在Tomcat配置方面的知识水平
c. Web应用程序的重要性,例如,如果一个应用程序非常关键,则最好将其保留在单独的Tomcat实例中,因为它可以帮助您以简单的形式隔离可能发生的任何问题。
最后,它将取决于您需要实现解决方案的上下文和业务需求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接