多个 JVM 与单个应用服务器
我正在处理的系统是每个客户在自己的JVM中运行Java应用程序。我们现在有大约六台专用服务器,总共运行近100个JVM,以及用于管理这些JVM的自定义脚本集。此时,此设置确实显示出了它的年龄:管理许多JVM正在成为监视/管理的噩梦,我们一直在处理堆大小问题。我们希望转向更现代的方法,在每台物理机的单个应用服务器中运行一堆应用程序。但是,保持应用程序分离在隔离方面确实具有明显的优势(例如,内存不足错误仅影响一个客户)。每个客户的软件堆栈的内存要求差异很大。
我的问题是:有没有办法在这里两全其美,在一个JVM(应用程序服务器)中运行多个应用程序,同时仍然保持一定程度的隔离?或者,现在您需要管理一组应用程序的内存需求,这仅仅是生活中的一个现代事实?除了应用程序服务器或Java EE容器(例如Wildfly或Spring)之外,这里还有其他解决方案吗?似乎这个系统是另一个时代的坚守者!