【发布时间】:2013-07-10 20:04:00
【问题描述】:
为什么要将 WAR 部署到诸如 tomcat 之类的 Web 服务器上,而不是独立运行它?
与独立运行实例相比,部署为 .war 有什么好处吗?
我似乎找不到任何理由说明为什么最好部署一个 Web 应用程序,然后单独运行它。
战争部署只是标准做法吗?
用户群的大小与它有什么关系吗?
它是基于每个应用程序的吗?
只是管理员偏好吗?
我问这些问题的原因是我有一个 web 服务,我可以选择将我的 war 文件部署到 tomcat,或者单独运行它。是否有关于为什么要使用其中一个的一般做法?似乎没有什么理由,更多的是这样做。
我不同意“一直都是这样……”的做法
如果有人能说明何时使用其中一个而不是另一个,以及为什么这样做更好,那将不胜感激。
【问题讨论】:
-
有几个(真正的)原因。我想到了一个非常有限的限制:套接字。如果您有独立的应用程序,每个应用程序都有自己的端口。每次你部署一个新的,你将不得不担心防火墙、代理和网络相关的东西。此外,您的客户端可能无法对某些端口执行请求。
-
好答案。但是...我们正在运行的应用程序是针对公司内部网的。防火墙、代理、端口转发......等并不是真正值得关注的。虽然只需要一个端口,但这样的维护更少。
-
多个端口不打扰您?可能是 Intranet,但使用单个应用程序服务器,一击解决所有问题。对于一、二、三系统,多端口是可以的。当你有数百个时会发生什么?考虑更高级的东西,例如集群、负载平衡、性能分析、日志记录、安全性、命名、系统之间的集成。所有这一切都由应用服务器负责,标准和模式可为您提供帮助。有了独立的应用程序,您就可以靠自己了。每个新人都必须从最细微的地方开始学习。需要紧急帮助?太糟糕了。
标签: web-services web-applications