多个JVM与单个应用服务器 [英] Multiple JVMs vs single app server

查看:150
本文介绍了多个JVM与单个应用服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在处理一个系统,该系统在每个客户的JVM中运行Java应用程序。我们有大约六个专用服务器,它们现在总共运行着近100个JVM,还有一组用于管理这些JVM的自定义脚本。此设置实际上显示了它的时代:管理许多JVM正在成为监控/管理的噩梦,我们一直在处理堆大小问题。我们想转向更现代的方法,只需在每个物理机器的单个应用服务器中运行一堆应用程序。但是,保持应用程序分离确实在隔离方面具有明显的优势(例如,内存不足错误仅影响一个客户)。每个客户的软件堆栈的内存要求差别很大。

I'm dealing with a system that runs a Java application per customer in its own JVM. We've got about a half dozen dedicated servers that are running close to 100 JVMs total now and sets of custom scripts for managing these JVMs. This setup is really showing its age at this point: managing that many JVMs is becoming a monitoring/management nightmare and we are constantly dealing with heap sizing issues. We'd like to move to a more modern approach and just run a bunch of applications in a single app server per physical machine. However, keeping the applications separate does have distinct advantages in terms of isolation (e.g. out of memory errors only affect one customer). Each customer's software stack has memory requirements that vary widely.

我的问题:有没有办法在这里兼顾两个世界并在一个JVM中运行多个应用程序(app服务器)并仍然保持一定程度的隔离?或者,这些天你需要管理一组应用程序的内存需求,这只是现代生活中的事实吗?除了我在这里缺少的应用服务器或Java EE容器(例如Wildfly或Spring)之外,还有其他解决方案吗?看起来这个系统是另一个时代的坚持!

My question: is there a way to have the best of both worlds here and run multiple applications in one JVM (app server) and still maintain some level of isolation? Or is it just a modern fact of life that you need to manage memory requirements of a set of applications these days? Are there other solutions here besides an app server or Java EE container (e.g. Wildfly or Spring) that I'm missing here? It seems like this system is a holdout from another era!

推荐答案

结帐多租户JVM。

IBM的JRE已经拥有它: http://www.ibm.com/developerworks/library/j-multitenant-java/

IBM's JRE has it already: http://www.ibm.com/developerworks/library/j-multitenant-java/

Waratek已在Oracle JRE,他们创建了ElastiCat,这是一个Tomcat fork,可以在同一个容器中隔离不同的应用程序: http:// www.elasticat.com/faq/

Waratek has implemented it on top of the Oracle JRE, and they created ElastiCat, a Tomcat fork that isolates different applications in the same container: http://www.elasticat.com/faq/

据传,多租户也出现在官方的Oracle Java 9 JVM中。

Multi-tenancy is rumoured to appear in the official Oracle Java 9 JVM, too.

========================================= ==============

=======================================================

更新:Java 9已经发布,但Oracle没有关于多租户的消息。
看来他们现在更喜欢拥有多个JVM,甚至是多个容器(例如docker)。

Update: Java 9 is out, but no word from Oracle about multi-tenancy. It seems they prefer having multiple JVM's these days, even multiple Containers (e.g. docker).

这篇关于多个JVM与单个应用服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆