我可以在单个Windows服务器中创建多个tomcat实例进行生产吗?与多机计算机中的多个实例相比,这是一种提高性能的好方法吗?
答案 0 :(得分:0)
“性能”绝不是使用Tomcat 集群的理由。如果要使用Tomcat的多个实例(而不是集群的),则存在性能方面的争论:可以向用户投放更多硬件以保持它们的良好服务。
集群 一词的含义是特定的,实际上,在每种情况下,它都会降低性能。 集群 Tomcat表示实例在请求之间共享数据并相互更新。除非您有一些非常具体的用例需要Tomcat,否则您不应该使用Tomcat clustering 。从一个节点到另一个节点进行故障转移的用户永远不会丢失会话。
在某些用例中,同一物理(甚至虚拟)硬件上的Tomcat的多个实例很有用,特别是为了容错。如果您的应用程序可能由于多种原因之一(例如OOME)而崩溃,那么即使在同一硬件上拥有多个实例也可以提高服务的可靠性(就最终用户而言)。
但是一般来说,我认为通过每台服务器运行一个大型Tomcat实例比每台服务器运行多个实例更好。
对于任何生产部署,我的建议是至少有两个物理服务器,每个服务器运行一个Tomcat实例。 (也可以在这些物理机上自由运行虚拟服务器...只是不要将两个虚拟服务器放在单个硬件上,然后希望RAM芯片不会出现故障并使它们都关闭)。这样一来,您就可以降低其中一个的维护成本,而其他一个仍然维护并处理请求。您可以遍历一组Tomcat节点,执行所需的任何维护,然后将它们带回到负载均衡器中。
哦,您将需要一个负载均衡器:)