Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture 同一JBoss服务器上有多个服务?_Architecture_Deployment_Rest_Jboss_Soa - Fatal编程技术网

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

Architecture 同一JBoss服务器上有多个服务?,architecture,deployment,rest,jboss,soa,Architecture,Deployment,Rest,Jboss,Soa,我们正在开发一些新的服务,这些服务将运行在JBoss上,并且可以通过RESTAPI-s访问。这些将是绑定到EAR文件中的Java应用程序。将这些服务部署到同一个JBoss服务器是一种好的做法吗 这将简化开发、部署和测试 不确定是否有任何大的缺点。应用程序共享的内存是否有限?在这种情况下,部署到单独的服务器会更好吗?一个应用程序是否会导致其他应用程序崩溃(即:占用所有内存)?您可以在一个应用程序服务器实例上部署多个服务,据我所知,这是最常见的情况:应用程序服务器往往需要相当多的资源,在加载了一个应

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

这将简化开发、部署和测试


不确定是否有任何大的缺点。应用程序共享的内存是否有限?在这种情况下,部署到单独的服务器会更好吗?一个应用程序是否会导致其他应用程序崩溃(即:占用所有内存)?

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


这些应用程序将共享可用内存和一个jvm,而一个应用程序中的错误会导致服务器停机。因此,您需要管理应用程序服务器的堆,以及其他一些“要害”。您可以使用jconsole(JDK的一部分)手动完成,也可以使用类似于excellent的工具自动完成。Hyperic本身btw基于JBoss服务器

每当您的应用程序驻留在同一台服务器上时,您都会遇到共享资源的问题,并降低了扩展服务的粒度

下面是一个简化的示例:假设您的服务器有4GB的RAM可供应用程序使用。服务1需要2GB的RAM,而服务2和服务3各自需要1GB的RAM。如果您在服务3上获得大量流量,部署更多容量的唯一直接方法是启动一个新服务器,其中大多数RAM专用于服务1和服务2,即使它们没有获得太多流量

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

在你的情况下,这是否会成为一个实际问题是你需要确定的