如果您想在Glassfish服务器上托管多个相当独立的应用程序,您是否需要单独的域?特别是:
如果是这样,何时/为什么要实际使用单独的域?
答案 0 :(得分:6)
从逻辑的角度来看,单个域中的单独域或多个应用程序的共存是相似的(您可以配置HTTP端口等)。
主要区别在于,在一种情况下,您有一个JVM运行所有应用程序,而在另一种情况下,您有几个JVM。这可以产生很大的不同。在我们的一个客户站点上,我们最初在一个域/ JMV中部署了所有内容,但最终决定将部署拆分到多个域/ JVM中,因为它提供了更好的性能,尤其是垃圾收集时间。所以是的,应用程序可能会以非常间接的方式干扰。
此外,Java EE应用程序无法真正关闭或启动,因此域是您可以打开和关闭的最小单元。在某些情况下,它很方便。
最后,有些内容属于每个域名,例如app。服务器日志级别,计时器持久性等。如果您想要两个具有不同设置的应用程序,则需要两个域。
答案 1 :(得分:1)
请考虑以下情况:您的域中部署了2个应用程序:轻量级前端应用程序和后端处理应用程序(假设每小时按计划运行任务并处理大量数据)。在这种情况下,您可能会遇到后端应用程序占用您的VM使得前端应用程序在极端情况下无响应的所有资源的问题,或者更糟糕的是,杀死jvm(例如内存不足错误或perm gen space错误)。
如果你把它分成两个域,即使你的后端东西刹车,其他应用程序也是安全的,因为它有自己的VM和内存可供使用。