代码之家  ›  专栏  ›  技术社区  ›  Jacob

你什么时候需要在玻璃鱼中使用单独的域?

  •  4
  • Jacob  · 技术社区  · 14 年前

    如果要在Glassfish服务器上承载多个相当独立的应用程序,是否需要单独的域?特别地:

    1. 同一域中的应用程序能否以某种方式相互干扰?
    2. 同一域中的不同应用程序可以在不同的IP地址/端口上侦听吗?

    如果是这样,您何时/为什么实际使用单独的域?

    2 回复  |  直到 11 年前
        1
  •  6
  •   Arjan Tijms UML GURU    11 年前

    从逻辑角度来看,单个域中的独立域或多个应用程序共存的情况类似(您可以配置HTTP端口等)。

    主要的区别在于,在一种情况下,您有一个JVM运行所有的应用程序,而在另一种情况下,您有几个JVM。这会有很大的不同。在我们的一个客户站点上,我们最初在一个域/jmv中部署了所有内容,但最终决定将部署拆分为多个域/jvm,因为它提供了更好的性能,特别是垃圾收集时间。所以是的,应用程序可以以非常间接的方式进行干扰。

    此外,JavaEE应用程序不能真正关机或启动,所以域名是最小的单位,你可以打开和关闭电源。在某些情况下,它很方便。

    最后,每个域都有一些东西,比如应用程序。服务器日志级别、计时器持久性等。如果您希望两个应用程序具有不同的设置,则需要两个域。

        2
  •  1
  •   Greg    14 年前

    考虑一下这个场景:您的域中部署了两个应用程序:轻量级前端应用程序和后端处理应用程序(比如,每小时按计划运行一次,并处理大量数据)。在这种情况下,您可能会遇到后端应用占用虚拟机所有资源的问题,使前端应用在极端情况下没有响应,甚至更糟的是,杀死JVM(例如内存不足错误或永久空间错误)。

    如果您将其分为两个域,即使您的后端设备停止工作,其他应用程序也是安全的,因为它有自己的虚拟机和内存可供使用。

    推荐文章