我需要为每台GlassFish服务器设置一个大约100个客户的托管环境(v3.1)。每个客户都需要可以彼此独立运行的自定义配置应用程序。(JDBC、JMS、重新启动单个应用程序的可能性)运行单个虚拟机将是首选的,因为使用750‘t的RAM每个启动100个JVM听起来不是个好主意。
到目前为止,我已经测试了以下解决方案,但不幸的是,这两种解决方案都没有满足我的要求:
有人能建议使用GlassFish托管多个应用程序实例的最佳实践/建议是什么吗?我们是否“注定”要为每位客户预订1GB的内存?从IIS环境出发,我们在启动时有单独的应用程序池,每个池使用3-5 5MB的RAM。
更新
关于我的依赖和在我的应用程序中的共享:按照我想在Glassfisf服务器上实现的想法,每个应用程序都需要不同的资源(JMS和JDBC)。这不是一个问题,我可以为每个应用程序定制它,甚至每个在一个实例上启用的虚拟主机(我可以通过从Http请求获取服务器名称来识别虚拟服务器,并在实例目录中准备单独的资源和配置文件,以便将配置应用到这个特定的虚拟服务器上)。
我的“独立要求”是:
这个想法是否可以在部署了100个应用程序(在实例/虚拟主机上启用)的一个Glassfish实例上实现?也许以不同的名称部署应用程序(如这里描述的:node.java.net/node/676678)在我的例子中可能是一个很好的解决方案?有没有人有以这种方式部署100倍于同一应用程序的不同配置的经验?
谢谢,
奥尔吉德
发布于 2012-02-17 10:03:57
如果使用GF 3堆栈,您将注意到该产品是经过重构以从OSGi体系结构中获益的。因此,现在可以在GF3中部署捆绑包,甚至是.wab文件(web应用程序包)。这种架构将使您能够:
independently
但是在你的问题中,我不明白如何用一个Java虚拟机来建模不同的进程.一个虚拟机意味着一个进程(在操作系统级别),您不能对此做任何事情。
OSGi平台在SLA需求方面给您的应用程序和软件模块化带来了许多优势。杰罗姆
https://stackoverflow.com/questions/9158231
复制相似问题