首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GlassFish应用服务器中的多实例应用程序体系结构与部署

GlassFish应用服务器中的多实例应用程序体系结构与部署
EN

Stack Overflow用户
提问于 2012-02-06 09:44:14
回答 1查看 1.7K关注 0票数 5

我需要为每台GlassFish服务器设置一个大约100个客户的托管环境(v3.1)。每个客户都需要可以彼此独立运行的自定义配置应用程序。(JDBC、JMS、重新启动单个应用程序的可能性)运行单个虚拟机将是首选的,因为使用750‘t的RAM每个启动100个JVM听起来不是个好主意。

到目前为止,我已经测试了以下解决方案,但不幸的是,这两种解决方案都没有满足我的要求:

  1. 在不同的域上部署应用程序。由于JVM Ram的使用以及在多个端口上运行多个管理控制台的复杂性(我们不需要在同一个域上的多个实例(Glassfish上的命名目标)上运行那么多separation)
  2. Deploying应用程序),这个解决方案是不够的。这个解决方案是不够的,因为它为每个实例创建了单独的JVM进程,并且消耗了太多的RAM (每个实例需要几百MB )。否则,它与我们在同一个实例上的多个虚拟主机上的need.
  3. Deploying应用程序最接近。这个解决方案是不可接受的,因为在Glassfish中,每个虚拟服务器都没有单独的configuration.

有人能建议使用GlassFish托管多个应用程序实例的最佳实践/建议是什么吗?我们是否“注定”要为每位客户预订1GB的内存?从IIS环境出发,我们在启动时有单独的应用程序池,每个池使用3-5 5MB的RAM。

更新

关于我的依赖和在我的应用程序中的共享:按照我想在Glassfisf服务器上实现的想法,每个应用程序都需要不同的资源(JMS和JDBC)。这不是一个问题,我可以为每个应用程序定制它,甚至每个在一个实例上启用的虚拟主机(我可以通过从Http请求获取服务器名称来识别虚拟服务器,并在实例目录中准备单独的资源和配置文件,以便将配置应用到这个特定的虚拟服务器上)。

我的“独立要求”是:

  1. --我只需要能够在一个Glassfish实例上部署多个应用程序,并且能够在单独的Java进程中运行它们,但在同一个Java虚拟机下运行它们。
  2. 我需要能够独立地启动/停止每个应用程序。
  3. ,我需要能够重新加载一个应用程序,而另一个应用程序应该保持活动状态(在IIS下,这个选项称为“循环应用程序池”)。对于一个应用程序中的bug,
  4. 不应该影响到同一服务器/实例上的其他客户应用程序。其他应用程序应该继续工作(当然,当这个bug不会破坏整个java vm时)。

这个想法是否可以在部署了100个应用程序(在实例/虚拟主机上启用)的一个Glassfish实例上实现?也许以不同的名称部署应用程序(如这里描述的:node.java.net/node/676678)在我的例子中可能是一个很好的解决方案?有没有人有以这种方式部署100倍于同一应用程序的不同配置的经验?

谢谢,

奥尔吉德

EN

回答 1

Stack Overflow用户

发布于 2012-02-17 10:03:57

如果使用GF 3堆栈,您将注意到该产品是经过重构以从OSGi体系结构中获益的。因此,现在可以在GF3中部署捆绑包,甚至是.wab文件(web应用程序包)。这种架构将使您能够:

independently

  • to为您的应用程序提供了
  • 管理不同模块的版本的
  • 以停止/重新启动应用程序,避免了对perm空间的浪费.

但是在你的问题中,我不明白如何用一个Java虚拟机来建模不同的进程.一个虚拟机意味着一个进程(在操作系统级别),您不能对此做任何事情。

OSGi平台在SLA需求方面给您的应用程序和软件模块化带来了许多优势。杰罗姆

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9158231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档