首页 文章

同一JBoss服务器上有多个服务?

提问于
浏览
1

我们正在开发一些将在JBoss上运行的新服务,并且可以通过REST API访问 . 这些将是捆绑到EAR文件中的Java应用程序 . 将这些服务部署到同一JBoss服务器是一种好的做法吗?

这将简化开发,部署和测试 .

不确定是否有任何重大缺陷 . 应用程序必须分享的内存是否有限?在哪种情况下,部署到单独的服务器会更好吗?一个应用程序可以导致其他应用程序崩溃(即:通过占用所有内存)?

2 回答

  • 2

    您可以在一个应用程序服务器实例上部署多个服务,据我所知,这是最常见的情况:应用程序服务器往往需要相当多的资源,部署大量资源,每个资源加载一个应用程序将严重增加解决方案的资源使用量 .

    这些应用程序将共享可用内存和一个jvm,一个应用程序中的错误可能会导致服务器崩溃 . 因此,您将需要监视应用程序服务器的堆以及其他一些"vitals" . 您可以使用jconsole(JDK的一部分)手动执行此操作,也可以使用优秀的hyperic工具自动执行此操作 . Hyperic本身btw基于JBoss服务器 .

  • 0

    只要您的应用程序驻留在同一服务器上,就会遇到共享资源问题并降低扩展服务的粒度 .

    这是一个简化的例子:假设你的服务器有4GB的RAM可供应用程序使用 . 服务1需要2GB的RAM,而服务2和3每个需要1GB . 如果在服务3上获得大量流量,则部署更多容量的唯一直接方法是启动新服务器,其中大部分RAM专用于服务1和服务2,即使它们没有获得大量流量 .

    约束实际上可能是RAM,CPU或IO . 事实上,如果您将多个服务一起部署,则在扩展时会限制您的灵活性 .

    在您的情况下,这是否是一个实际问题是您需要确定的 .

相关问题