在过去的几年里,我作为一个“爱好项目”开发了一个使用 java 的网络应用程序。它基本上是一个订单输入和销售订单管理系统,适用于我所在的利基行业。我已经为 2 个客户运行该应用程序一年了,但其他客户表示有兴趣使用该应用程序。
应用程序本身运行良好,但此时我担心成长的烦恼。目前,我将两个客户端域指向我的服务器,其中一个 tomcat 实例运行两个相同的 Web 应用程序,每个应用程序都通过休眠连接到自己的 MySQL 数据库。
我想将这些客户和 future 的客户切换到一个域名,每个客户都有自己独特的子域。
我有几个相关的问题想回答:
在每个子域/客户端应用程序上运行一个 tomcat 实例是个好主意吗?
我不想每次需要重新启动 tomcat 以更新应用程序时都必须中断每个客户端的服务。另外,如果我在更新时做错了什么,我不希望我的所有客户端同时崩溃。我想这将是资源密集型的,但该应用程序的订阅费用将在 100-200 美元/月之间,因此我可以在时机成熟时支付额外的托管费用。
如果我不需要 EE 功能,是否有任何理由使用 Jboss/Glassfish 而不是 Tomcat?
Tomcat 似乎很容易配置一个简单的配置,但当我转向更复杂的部署时,另一个容器会更好吗?
在正确方向上的任何一点都会有所帮助!我不太了解如何设置这样的服务器,因为直到现在我才需要……谢谢!
最佳答案
理想情况下,您应该使用(冗余)负载平衡器和两个(冗余)服务器,这样您就可以停止/重新启动/重新加载其中一个服务器,并且仍然允许客户端连接。您还可以拥有与生产服务器相同的独立登台服务器,这样您就可以确保在生产中不会崩溃。
您可以 hot-deploy在 tomcat 上而不重新启动它,顺便说一句。
您可以运行 distinct tomcat instances在他们自己的 JVM 中,这样即使一个崩溃也不会影响另一个。
关于tomcat - 在 tomcat 上构建 java web 应用程序的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22284688/