2012-06-01 29 views
1

將Mule ESB部署到生產環境中有很多種方法。根據文檔,似乎將Mule作爲獨立服務運行是推薦的方式。在生產環境中運行Mule Standalone與Tomcat

有沒有任何原因不運行騾子獨立生產?我相信它的穩定性,但就性能,可靠性和資源利用率而言,它與Tomcat相比如何?

我仍然應該考慮在Tomcat中以任何理由運行它嗎?

回答

4

使用Tomcat或任何其他Web容器,允許您將該容器的Web層用於HTTP入站端點(通過Servlet傳輸)而不是Mule的HTTP或Jetty傳輸。

在班加載,熱重新部署和日誌記錄的處理中發現其他差異。

現在人們不使用Mule standalone的主要原因是公司政策,即「你應該部署在_」。當生產團隊獲得經驗來託管特定的Java應用程序/ Web服務器時,他們希望您在該環境中部署您的Mule項目,以便他們可以以衆所周知的一致方式管理/監控它。

但是,如果您對入站HTTP層感到滿意,您可以單獨獲得Mule,並且可以將其部署到生產環境中,然後繼續使用它。這是生產準備。

+2

謝謝大衛!我其實正在閱讀你的Mule in Action書的MEAP副本。享受它到目前爲止! – Jeff

+0

有什麼我應該知道的獨立運行?是否容易出現PermGen問題?我們應該增加JVM堆大小嗎?還有其他什麼玩意兒?我熟悉Tomcat/Spring的這些管理問題。但我從未在騾子容器上部署過展位。 – Jeff

+0

我不知道任何這樣的問題,除了http://stackoverflow.com/questions/10699940/gc-too-frequency-under-heavy-load-with-mule3-2(這將發生在騾嵌入和獨立)。大多數行爲應該與Spring Web應用程序相同。在應用程序熱重裝的處理上會出現差異,這與TC和Mule Standalone之間的差異很大。 –

0

騾實際上建議部署獨立。在像容器一樣的容器內tomcat它必須共享線程池,堆等...這顯然可以防止它在最好的情況下執行。

您希望在像tomcat這樣的容器內部的主要原因是獲得自動部署。即你可以更新你的Mule應用程序.war,容器將重新啓動新的應用程序。這有助於測試。

另外一些傳輸特定於在容器內運行,如servlet傳輸。 OTOH在設計解決方案時讓騾子在你的容器和你的servlets之間運輸your'e doing it wrong.