tomcat - 在 tomcat 上构建 java web 应用程序的正确方法?

标签 tomcat web-applications

在过去的几年里,我作为一个“爱好项目”开发了一个使用 java 的网络应用程序。它基本上是一个订单输入和销售订单管理系统,适用于我所在的利基行业。我已经为 2 个客户运行该应用程序一年了,但其他客户表示有兴趣使用该应用程序。

应用程序本身运行良好,但此时我担心成长的烦恼。目前,我将两个客户端域指向我的服务器,其中一个 tomcat 实例运行两个相同的 Web 应用程序,每个应用程序都通过休眠连接到自己的 MySQL 数据库。

我想将这些客户和 future 的客户切换到一个域名,每个客户都有自己独特的子域。

我有几个相关的问题想回答:

在每个子域/客户端应用程序上运行一个 tomcat 实例是个好主意吗?

我不想每次需要重新启动 tomcat 以更新应用程序时都必须中断每个客户端的服务。另外,如果我在更新时做错了什么,我不希望我的所有客户端同时崩溃。我想这将是资源密集型的,但该应用程序的订阅费用将在 100-200 美元/月之间,因此我可以在时机成熟时支付额外的托管费用。

如果我不需要 EE 功能,是否有任何理由使用 Jboss/Glassfish 而不是 Tomcat?

Tomcat 似乎很容易配置一个简单的配置,但当我转向更复杂的部署时,另一个容器会更好吗?

在正确方向上的任何一点都会有所帮助!我不太了解如何设置这样的服务器,因为直到现在我才需要……谢谢!

最佳答案

  1. 理想情况下,您应该使用(冗余)负载平衡器和两个(冗余)服务器,这样您就可以停止/重新启动/重新加载其中一个服务器,并且仍然允许客户端连接。您还可以拥有与生产服务器相同的独立登台服务器,这样您就可以确保在生产中不会崩溃。

  2. 您可以 hot-deploy在 tomcat 上而不重新启动它,顺便说一句。

  3. 您可以运行 distinct tomcat instances在他们自己的 JVM 中,这样即使一个崩溃也不会影响另一个。

关于tomcat - 在 tomcat 上构建 java web 应用程序的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22284688/

相关文章:

web-services - Web 服务和 Web 应用程序之间的区别

php - 302重定向到非HTTP协议(protocol)

java - context.xml 和 server.xml 之间的区别?

java - Tomcat 被杀死时 Quartz 当前正在执行的作业

java - Apache shiro Web 应用程序索引页面作为默认页面

ajax - 在服务器和客户端之间传递标识符/ key 的推荐编程模式是什么?

java - 如何使用 Stripes Framework 在 Web 浏览器中显示 JFreeChart

java - 在 Tomcat 上运行时本地/远程调试 GWT 应用程序

java - 我们如何在 Tomcat 和 Websphere 之间做出妥协?

Tomcat 未调用 Spring MVC Controller