2012-11-06 28 views
0

我在多个端口上运行多个Web应用程序。我想知道在同一个服务中运行多个主机和使用不同主机运行多个服务的真正区别。多个主机vs Tomcat7中的服务

我知道这可以用来共享连接器,但是有任何其他原因比其他更好吗?

配置1:多台主机

 <Engine> 
      //APP 1 
      <Host> 
       <Context .... /> 
      </Host> 
      //APP 2 
      <Host> 
       <Context .... /> 
      </Host> 
     </Engine> 
    </Service> 
</Server> 

配置2:多业务

<Server> 
    //APP 1 
    <Service> 
     <Connector ... /> 
     <Connector ... /> 

     <Engine> 
      <Host> 
       <Context .... /> 
      </Host> 
     </Engine> 
    </Service> 
    //APP 2 
    <Service> 
     <Connector ... /> 
     <Connector ... /> 

     <Engine> 
      <Host> 
       <Context .... /> 
      </Host> 
     </Engine> 
    </Service> 
</Server> 

回答

0

只有很好的理由有单独<Service> s是,如果你想有一个<Connector>表示t将(或将不)服务于<Host>的特定子集或(因此)<Context>s。

+0

好吧,它对性能/内存有影响吗? –

+0

其他配置肯定会增加内存使用量(因为您将在内存中配置单独的''和'',''等东西)。我不确定' s'是否共享' s',而''是因为创建的所有线程而真正使用内存的地方。 –

+0

至于性能,如果您使用多个' s'(因为每个请求需要与引擎中的所有可能的虚拟主机匹配),但可能不是多个' s'(除非您有多个主机在那些发动机中也是如此)。 –