2011-12-19 76 views
4

我們即將部署一個使用JBoss Seam構建的Java Web應用程序作爲應用程序框架。我們將在集羣設置中進行部署,因爲這是一個電子商務應用程序,我們關心的是高可用性和高性能。我們已經完成了部署到JBoss 5.1的應用程序的所有開發和初始測試,但是最近我們已經對內存佔用和性能等問題感到擔憂,並且有爭議轉向Tomcat。JBoss AS或Tomcat for Seam應用程序?爲什麼?

我們的應用程序是一個電子商務應用程序,使用典型的多層應用程序,使用JSF作爲視圖,EJB3作業層,JPA/Hibernate作爲PostgreSQL數據庫的持久性。我們還大量使用JBoss Cache 2.x進行緩存支持,並且使用Hibernate Search(Lucene)進行搜索支持。

我很想聽聽社區的意見,哪些應用服務器最適合基於Seam的應用程序。我意識到必須對應用程序體系結構(無EJB,定時服務 - > Quartz調度程序,JBoss Cache-> ehCache等)進行一些更改以支持遷移。如果這些更改與我們在JBoss中獲得的結果相媲美,我們很樂意進行這些更改。

在JBoss中,看起來好像集羣設置更容易。我們能用Quartz做一個集羣設置嗎?的Ehcache?正如我所提到的,我們目前正在部署到JBoss 5.1。 JBoss 7會給我們更好的性能和更小的內存空間嗎?如果我們選擇Tomcat,我們傾向於使用Tomcat 7.是否有任何令人信服的理由選擇Tomcat 6.x?

我很想聽聽你對這種設置的看法和經驗。我們已閱讀文檔。我們已經對所有各種平臺進行了一些概念驗證測試。但是,很難知道我們應該在生產中運行什麼,並且不想做出錯誤的選擇,然後需要重新設計和測試一切,因爲我們做出了錯誤的選擇。感謝您提供的任何意見和建議!

+0

我同意Isolivera關於支持的回答。另外,看起來你現在正在使用很多Jboss的堆棧。如果你走Tomcat的路線,你甚至可能會拋棄Seam!如果您現在不需要支持,我會先嚐試遷移到Jboss 7,因爲它實際上要快得多,但需要對Jboss 5進行幾項配置更改。另外,Jboss Enterprise(付費應用)6將基於jboss 7 – Luciano 2011-12-19 15:56:07

+0

我們目前沒有任何計劃來利用紅帽商業支持。我們是一個非常小的創業公司,並計劃自己管理和支持一切。在內存使用和性能方面,JBoss 5.1和7之間有明顯的區別嗎?平臺的穩定性如何? – Shadowman 2011-12-19 16:20:38

回答

3

我不認爲任何人都可以通過如此寬泛的系統定義給出明確的答案。

我目前在一個類似的設置(oracle代替postgres)中使用Seam/JBoss 5,主要是由於一個原因:支持。在緊密集成的JBoss和Seam世界中擁有RedHat專業服務支持本身就是您不應忽視的內容。特別是在生產環境中。即使你現在沒有,它也可以讓你安心地知道你將來可以這樣做(如果需要的話)。

也就是說,選擇其中一個或其他設置可能會要求您先性能測試您的應用程序,以發現您確實存在問題的位置(假設您已這麼做)。畢竟,會話的大小是服務器的實現還是你在會話中存儲了太多的信息?您是否在使用會話複製?你做AJAX嗎?大多數情況下,性能改進來自實施 - >性能測試 - >實施週期,而不是來自不斷變化的實施技術。嘿,即使Facebook使用MySQL,每個人都會立即認爲它不適合(公開個人資料 - 其中600多萬人)。

0

答案是 - '這取決於'。

你可以考慮做一個明智的決定在以下幾個方面:

  • 無論你是想只使用標準API(Java EE)編寫或依賴於實現特定的功能
  • 易於的配置和基礎設施的維護

從我個人的經驗 - 我們在JBoss上部署複雜的應用程序,在Tomcat/Jetty上部署簡單的應用程序。

石英支持羣集以及Ehcache做。

0

對於大多數JBoss的servlet容器的服務是由一個內部Tomcat容器管理,這是直到的JBoss 6.

JBoss是一個應用程序服務器,而Tomcat是一個servlet容器。出於這個原因,我幾乎認爲你應該對現有的代碼進行大刀闊斧的改變以適應Tomcat。