2012-11-06 29 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'(除非您有多個主機在那些發動機中也是如此)。 –