2017-08-28 112 views
1

我有一個要求,我必須在同一臺機器上可以通過HTTP訪問但在不同的端口上託管兩個(不同的)webapps。我想知道什麼是更好的解決方案,或基本上是起什麼具體CATALINA_HOME/CATALINA_BASE和兩個過程的conf迪爾斯兩個獨立的Tomcat實例與相應的server.xml(S) 多個Tomcat實例vs多個Tomcat服務

    • 之間的區別一個Tomcat實例,並在單個server.xml中配置多個服務。有一個默認的卡塔利娜服務在server.xml並添加另一種與特定端口和應用平臺

    可能有人形容它的方式來選擇,爲什麼?我對這兩個實例與兩個服務之間的主要區別感興趣?

  • +1

    如果您執行多個實例,您將共享相同的資源。 –

    +0

    感謝您的快速提示!您能否再解釋一下「共享相同資源」是什麼意思? – shippi

    +0

    我會感興趣的是爲什麼這個問題也被低估了。請描述一下,我可以在將來避免同樣的錯誤! – shippi

    回答

    1

    兩個方法之間的主要區別是:

    許多Tomcat實例

    可以啓動或停止Tomcat,而不影響其他情況下,這種做法是非常有用的,當你需要給維修到一個應用程序,但您不想影響其他實例的可用性。每個實例將使用他們自己的資源,當機器無法保證每個tomcat實例所需的內存或處理器數量時,這可能是一個問題,就tomcat知識而言,這種方法將需要比另一個更多的資源這種方法很容易實現。

    一個Tomcat實例和許多服務X的webapp

    這種方法是有用的,當你需要在Web應用程序之間共享資源,您可以配置一個單點對所有的Web應用程序,使用這種方法更難以隔離web應用程序之間的問題,因爲它們共存於相同的tomcat實例中,例如,如果您需要排除一個應用程序的故障,如果兩個應用程序都在同一個tomcat中運行,該如何實現呢?如何讀取日誌文件?兩個應用程序的日誌文件是否在一個日誌文件中?或者被正確分開? 如果沒有適當的配置執行,請小心,那麼它可能是生產的噩夢。這種方法需要更多的精力和知識,才能在tomcat配置中定義一個恰當的服務分離方式,這樣配置起來就比較困難,但在效率方面比較好。

    如何決定

    那麼它取決於

    一個。服務器資源的數量。

    b。 IT團隊在tomcat配置方面的知識水平

    c。例如,如果一個應用程序非常重要,最好將其保存在一個獨立的tomcat實例中,因爲它可以幫助您以簡單的形式隔離該特定應用程序可能發生的任何問題。

    最後它將取決於您需要實施解決方案和業務需求的上下文。