当前位置: 首页 > 面试题库 >

为什么我们在同一服务器上使用多个应用程序服务器实例

公羊涛
2023-03-14
问题内容

我想这是有充分的理由的,但是我不明白为什么有时我们例如将5个具有相同Web应用程序的实例放在同一台物理服务器上。

与多处理器体系结构的优化有关吗?JVM或其他东西的最大允许内存限制?


问题答案:

嗯…很久以后,我再次看到这个问题:)

一台机器上的多个JVM实例解决了很多问题。首先让我们面对这个问题:尽管JDK 1.7即将面世,但许多旧版应用程序都是使用JDK
1.3或1.4或1.5开发的。而且,JDK的主要部分仍在其中。

现在您的问题:

从历史上看,系统架构师通过在一个盒子上部署多个JVM解决了三个主要问题:

  1. Garbage collection inefficiencies:随着堆大小的增长,由于单线程GC,垃圾回收周期(尤其是对于主要垃圾回收)会在处理过程中引入大量延迟。多个JVM通过通常允许较小的堆大小并在GC周期内启用某种程度的并发性来解决此问题(例如,对于四个节点,当一个节点进入GC时,您仍有三个其他节点在积极处理)。

  2. Resource utilization:较早的JVM无法有效地扩展到超过四个CPU左右。答案?在包装盒中,每2个CPU运行一个单独的JVM(里程可能会因应用程序而异)。

  3. 64-bit issues:较早的JVM无法分配超出32位最大值的堆大小。同样,多个JVM使您可以最大程度地利用资源。

  4. Availability:人们有时在单个机器上运行多个JVM的最后一个原因是可用性。的确,这种做法并不能解决硬件故障,但是确实可以解决应用程序服务器单个实例中的故障。

摘自(http://www.theserverside.com/discussions/thread.tss?thread_id=20044)

我主要看过weblogic。这是进一步阅读的链接:

http://download.oracle.com/docs/cd/E13222_01/wls/docs92/perform/WLSTuning.html#wp1104298

希望这会帮助你。



 类似资料:
  • 为何使用虚拟服务器? 虚拟服务器是自奶粉以来最好的东西! 你可能会问我们为什么要发表这样的声明。 原因是它们引入了灵活性。 使用虚拟服务器,您可以创建一个定制的策略并将其包装在一个功能单元中。 虚拟RADIUS服务器在概念和功能上与真实虚拟服务器(如使用VMware或VirtualBox进行虚拟化的服务器)非常不同。 RADIUS中的虚拟服务器可以实现简单而强大的配置,因为它们可以实现策略的清晰分

  • 我有一个在tomcat和jetty服务器上工作的spring web应用程序,但是当我将它部署在jboss服务器(7.1.1版本)上时,出现了一个错误404。 我在web.xml中的配置是 我们使用AbstractAnnotationConfigDispatcherServletInitializer用java配置来配置Spring 我的SoftWebConfig是 这个应用程序在TOMCAT和J

  • 我RestClient应该使用来自多个服务器的服务,每个服务器具有不同的主机名和凭据。 我知道是线程安全的,并且为每个任务创建不同的连接,但是如何使用不同的凭据来完成呢?凭据不是在创建时提供给RestTemplate的吗?

  • 我用开发了一个web应用程序,它运行良好。 现在我正在尝试为其他开发人员设置相同应用程序的更多实例。因此,现在我有9个实例(dev01-dev09)。我已经为每个dev实例创建了数据库并设置了文件,除了之外,它们都运行良好。例如,由创建的消息队列,但它是由dev02的使用者处理的(它应该由dev01处理)等等。 [更新于美国东部时间1月23日凌晨4点]为了尝试一下,我将queue_options中

  • 我想在我们的Webjob中获得应用的见解,我使用了这个nuget软件包: https://github.com/azure/azure-webjobs-sdk/wiki/application-insights-integration 当我们在同一个azure服务器(web应用程序)上运行两个web作业时,我们看不到web作业的分离,所以我们不知道是哪个web作业占用了资源?还有什么我能做的吗?还

  • 问题内容: 我正在处理一个系统,该系统在其自己的JVM中为每个客户运行Java应用程序。现在,我们有大约六个专用服务器,它们总共运行近100个JVM,以及用于管理这些JVM的自定义脚本集。此设置实际上已经表明了它的年龄:管理许多JVM已成为监视/管理的噩梦,并且我们一直在处理堆大小调整问题。我们想采用一种更现代的方法,并在每台物理计算机的单个应用服务器中运行一堆应用程序。但是,将应用程序保持隔离确

  • 本文向大家介绍为什么我们需要微服务容器?相关面试题,主要包含被问及为什么我们需要微服务容器?时的应答技巧和注意事项,需要的朋友参考一下 要管理基于微服务的应用程序,容器是最简单的选择。它帮助用户单独部署和开发。您还可以使用Docker将微服务封装到容器的镜像中。没有任何额外的依赖或工作,微服务可以使用这些元素。