类似的问题,“在同一台服务器上有多个tomcat实例是否有意义?”但在这种情况下,Tomcats正在VM上运行。
我知道答案可能是“它取决于”,但我想探讨这个问题。什么时候有意义? VM特定注意事项是什么?
我听到的原因: 1)JVM在某种程度上限制了它们使用可用资源的能力。因此,分配多个tomcat实例将更好地利用资源。不确定这是一个很好的理由。这是曾经真实的事情之一,但不再是真的吗? 2)如果一个tomcat实例失败,另一个实例可以接管。
缺点: 当你有多个版本和更高的复杂性时,会有更多的开销。
如果我们需要负载平衡,将第二个tomcat放在另一个VM中会“更好”吗?
答案 0 :(得分:2)
如果您有选项,则首选其他VM。您仍然可以获得多个JVM所提到的所有资源利用率优势。您还可以获得没有单点故障的冗余;您的虚拟机崩溃不会导致群集中的每个节点崩溃。
如果您必须使用一个VM,那么在使用一个tomcat实例与多个实例时要考虑的事项是:
可能的情况是,您将受到上述任何一种约束,您可以做任何您认为最适合您的事情。我的偏好将按以下顺序排列:
2& 3,因为我不想管理超过必要的东西。一个tomcat比2个或更多更容易。但最好的分离是在服务器级别。